javascript与asp.net(c#)互相调用方法


Posted in Javascript onDecember 13, 2009

1、获得aspx客户端请求地址:

<a src= 'http://<%=Request.Url.Host %><%= ResolveUrl("../PayCenter/AlipayAdd.aspx")%>'>地址</a>

2、C#调用客户端方法:(top.window.document:表父窗体,如果是MainFrame对象在本窗体中,则不加top.window.document)
Js中的方法:

function navurl(url) { 
$("#mainFrame",top.window.document).attr("src", url); 
}

C#调用:

string navUrl = "javascript:navurl('" + "http://" + Request.Url.Host + ResolveUrl("../Document/callIndex.aspx?FolderId="); 
DocName.NavigateUrl = navUrl + txtDocId.Value.Trim() + "')";

3. C#调用客户端方法:

page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript'>alert('" + msg.ToString() + "');</script>");

下面要解决的问题如下:
1.如何在JavaScript访问C#函数?

2.如何在JavaScript访问C#变量?

3.如何在C#中访问JavaScript的已有变量?

4.如何在C#中访问JavaScript函数?

问题1答案如下:

javaScript函数中执行C#代码中的函数:

方法一:
1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;

2、在前台写一个js函数,内容为document.getElementById("btn1").click();

3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;

方法二:
1、函数声明为public

后台代码(把public改成protected也可以)
public string ss()

{

return("a");

}

2、在 html 里用可以调用前台脚本
<script language=javascript>

var a = "<%=ss()%>";

alert(a);
</script>

方法三:
<script language="javascript">

<!--

function __doPostBack(eventTarget, eventArgument)

{

var theForm = document.Form1; //指runat=server的form

theForm.__EVENTTARGET.value = eventTarget;

theFrom.__EVENTARGUMENT.value = eventArgument;

theForm.submit();

}

-->

</script>

<input id="Button1" type="button" name="Button1" value="按钮" onclick="javascript:__doPostBack('Button1','')">

方法四:
<script language="javascript">

function SubmitKeyClick()

{

if (event.keyCode == 13)

{

event.cancelBubble = true;

event.returnValue = false;

document.all.FunName.value="你要调用的函数名";

document.form[0].submit();

}

}

</script>

<INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">

<input type="hidden" name="FunName"> 〈!--用来存储你要调用的函数 --〉

在.CS里有:
public Page_OnLoad()

{

if (!Page.IsPost())

{

string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";

//根据传回来的值决定调用哪个函数

switch(strFunName)

{

case "enter()":

enter() ; //调用该函数

break;

case "其他":

//调用其他函数

break;

default:

//调用默认函数

break;

}

}

}

public void enter()

{

//……比如计算某值

}


问题2.如何在JavaScript访问C#变量?

答案如下:

方法一:1、通过页面上隐藏域访问 <input id="xx" type="hidden" runat="server">


方法二:1、如后台定义了PUBLIC STRING N; 前台js中引用该变量的格式为''或"++"


方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
"<script language='javascript'>var temp=" + tmp + "</script>"

tmp是后台变量,然后js中可以直接访问temp获得值。


问题3.如何在C#中访问JavaScript的已有变量?

答案如下:

方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;2、后台用request["id"]来获取值;

方法二:可以用cookie或session


问题4.如何在C#中访问JavaScript函数?

答案如下:

c#代码中执行javaScript函数:

方法一:1、
Page.RegisterStartupScript("ggg"," ");

方法二:使用Literal类,然后
private void Button2_Click(object sender, System.EventArgs e)

{

string str;

str=" ";

//Literal1.Visible=true;

Literal1.Text=str;

}

Javascript 相关文章推荐
Javascript中Eval函数的使用
Mar 23 Javascript
JavaScript 比较时间大小的代码
Apr 24 Javascript
jquery库文件略庞大用纯js替换jquery的方法
Aug 12 Javascript
JQuery异步获取返回值中文乱码的解决方法
Jan 29 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
jQuery EasyUI Dialog拖不下来如何解决
Sep 28 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
Aug 03 Javascript
基于vue+canvas的excel-like组件实例详解
Nov 28 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 #Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 #Javascript
页面中iframe相互传值传参
Dec 13 #Javascript
jquery提示 &quot;object expected&quot;的解决方法
Dec 13 #Javascript
js 加载并解析XML字符串的代码
Dec 13 #Javascript
javascript 强制刷新页面的实现代码
Dec 13 #Javascript
ExtJS下grid的一些属性说明
Dec 13 #Javascript
You might like
PHP下几种删除目录的方法总结
2007/08/19 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
python赋值操作方法分享
2013/03/23 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
Python FFT合成波形的实例
2019/12/04 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
后勤园长自我鉴定
2013/10/17 职场文书
高一地理教学反思
2014/01/18 职场文书
学习演讲稿范文
2014/05/10 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书