C#代码与javaScript函数的相互调用
问: 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里用<%=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=
"按钮" οnclick=
"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的已有变量?
答案如下:
方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;
2、后台用request[
"id"]来获取值;
方法二:可以用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; }
转载于:https://www.cnblogs.com/Mr0909/p/3990340.html
相关资源:JAVA上百实例源码以及开源项目