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 相关文章推荐
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
js中字符替换函数String.replace()使用技巧
Aug 14 Javascript
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
js打开新窗口方法整理
Feb 17 Javascript
JS获取随机数函数可自定义最小值最大值
May 08 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
微信小程序实现的五星评价功能示例
Apr 25 Javascript
JavaScript Reflect Metadata实现详解
Dec 12 Javascript
JavaScript this指向相关原理及实例解析
Jul 10 Javascript
原生js+css实现tab切换功能
Sep 17 Javascript
element-ui 弹窗组件封装的步骤
Jan 22 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
php中常用的预定义变量小结
2012/05/09 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
隐性调用php程序的方法
2015/06/13 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
MySQL最常见的操作语句小结
2015/05/07 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
Python  Django 母版和继承解析
2019/08/09 Python
如何利用python 读取配置文件
2021/01/06 Python
如何编写python的daemon程序
2021/01/07 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
交通安全教育制度
2014/02/02 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
婚内房产协议书范本
2014/10/02 职场文书
会计求职自荐信
2015/03/26 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL