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循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
基于jQuery的模仿新浪微博时间的组件
Oct 04 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
jQuery取消特定的click事件
Feb 29 Javascript
Javascript的比较汇总
Jul 25 Javascript
vue实现组件之间传值功能示例
Jul 13 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
vue在线动态切换主题色方案
Mar 26 Javascript
es6函数之箭头函数用法实例详解
Apr 25 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
python的json包位置及用法总结
2020/06/21 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
医药专业推荐信
2013/11/15 职场文书
毕业生找工作推荐信
2013/11/21 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
邹越演讲观后感
2015/06/15 职场文书
歌咏比赛主持词
2015/06/29 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
MySQL新手入门进阶语句汇总
2022/09/23 MySQL
Mysql如何查看是否使用到索引
2022/12/24 MySQL