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 相关文章推荐
DOM精简教程
Oct 03 Javascript
jquery的extend和fn.extend的使用说明
Jan 09 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
jQuery中选择器小问题(新人难免遇到)
Mar 31 Javascript
js打开windows上的可执行文件示例
May 27 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
vue中element-ui表格缩略图悬浮放大功能的实例代码
Jun 26 Javascript
javascript实现点击按钮切换轮播图功能
Sep 23 Javascript
js中Object.create实例用法详解
Oct 05 Javascript
微信小程序中wxs文件的一些妙用分享
Feb 18 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 随机生成10位字符代码
2009/03/26 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
php中序列化与反序列化详解
2017/02/13 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
解决python os.mkdir创建目录失败的问题
2018/10/16 Python
Python中的asyncio代码详解
2019/06/10 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
安全月宣传标语
2014/10/07 职场文书
导游欢送词
2015/01/31 职场文书
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
python实现手机推送 代码也就10行左右
2022/04/12 Python