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 相关文章推荐
MSN消息提示类
Sep 05 Javascript
js修改table中Td的值(定义td的单击事件)
Jan 10 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
jQuery获取对象简单实现方法小结
Oct 30 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
JS生成不重复的随机数组的简单实例
Jul 10 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
vue-router beforeEach跳转路由验证用户登录状态
Dec 26 Javascript
详解Vue、element-ui、axios实现省市区三级联动
May 07 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实现仿写CodeIgniter的购物车类
2015/07/29 PHP
php技巧小结【推荐】
2017/01/19 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
提示$ is not defined错误分析及解决
2013/04/09 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
深入理解Node module模块
2018/03/26 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
djang常用查询SQL语句的使用代码
2019/02/15 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
django创建超级用户过程解析
2019/09/18 Python
wxPython实现文本框基础组件
2019/11/18 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
关于迟到的检讨书
2014/01/26 职场文书
工程技术员岗位职责
2014/03/02 职场文书
求职信内容怎么写
2014/05/26 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
考试作弊检讨书
2014/10/21 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
python区块链持久化和命令行接口实现简版
2022/05/25 Python