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 相关文章推荐
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
为你的网站增加亮点的9款jQuery插件推荐
May 03 Javascript
JS重要知识点小结
Nov 06 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
Jan 31 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
javascript自定义右键弹出菜单实现方法
May 25 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
基于twbsPagination.js分页插件使用心得(分享)
Oct 21 Javascript
vue+vuex+axios实现登录、注册页权限拦截
Mar 09 Javascript
element-ui中Table表格省市区合并单元格的方法实现
Aug 07 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 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
Terran历史背景
2020/03/14 星际争霸
PHP5中MVC结构学习
2006/10/09 PHP
用session做客户验证时的注意事项
2006/10/09 PHP
PHP循环获取GET和POST值的代码
2008/04/09 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
快速入门python学习笔记
2017/12/06 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
函授生自我鉴定
2014/03/25 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
运动会100米加油稿
2015/07/21 职场文书
我的生日感言
2015/08/03 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android