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 相关文章推荐
js的回调函数详解
Jan 05 Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 Javascript
VC调用javascript的几种方法(推荐)
Aug 09 Javascript
JS匿名函数实例分析
Nov 26 Javascript
jQuery实现6位数字密码输入框
Dec 29 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
vue兄弟组件传递数据的实例
Sep 06 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 Javascript
原生js+canvas实现验证码
Nov 29 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下判断网址是否有效的代码
2011/10/08 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
28个JS验证函数收集
2010/03/02 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python中星号变量的几种特殊用法
2016/09/07 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Python目录和文件处理总结详解
2019/09/02 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
2014自荐信的写作技巧
2014/01/28 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
开学寄语大全
2014/04/08 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
交通处罚决定书
2015/06/24 职场文书
新闻稿怎么写
2015/07/18 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python