如何实现JS和CS互访?

RT... RT 展开
 我来答
匿名用户
2013-07-11
展开全部
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#函数;(若想让Button1在页面上不显示,则嵌套一个div 显示设置成不显示,不能使用visable=false,因为用visable=false时,getElementById可能找不到Button1) <script type="text/javascript">
function Bind()
{
document.getElementById("Button1").click();
}
</script><a id="div1" href="#" onclick="Bind()">无刷新更改 隐藏的button触发</a>
<div style="display:none">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
</div> 方法二:1、函数声明为public
后台代码(把public改成protected也可以)
public string ss()
{
return("a");
}
2、在html里用 <%=fucntion()% >可以调用
前台脚本
<script language=javascript >
var a = " <%=ss()% >";
alert(a);
</script >
方法三:1、 <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中引用该变量的格式为 ' <%=n% > '或"+ <%=n% >+"
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本
" <script language= 'javascript ' >var temp=" + tmp + " </script >"
tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?答案如下:方法一:推荐使用控件
在JS中添加代码
document.getElementById("HiddenField1").value = '风中追风';
在后台代码中,可以直接使用HiddenField1.Value取得使用
在后台代码中,可以直接使用leslie.Value取得
方法二:可以用cookie或session
4.如何在C#中访问JavaScript函数?
答案如下:
c#代码中执行javaScript函数:
方法一:1、Page.RegisterStartupScript("ggg"," <script >SetVisible(1); </script >");
方法二:使用Literal类,然后
private void Button2_Click(object sender, System.EventArgs e)
{
string str;
str=" <script language= 'javascript ' >";
str+="selectRange()";
str+=" </script >";
//Literal1.Visible=true;
Literal1.Text=str;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式