(1)//后台:Publicstringstr="123"; //最好为Public类型
直接在AspX前台页面HTML代码中要放的位置写入如下代码:
<td><%=str%></td>
(2)用JS取本页面中的服务器端控件值:
服务器端控件值:
代码如下 | 复制代码 |
functiona() { vari; i=document.getElementById('<%=服务器控件id.ClientID %>').value; //取Label控件值 document.getElementById('<%=lblUserName.ClientID %>').innerText=i; } (3)用JS取自定义用户控件(**.ascx)中的
function b() |
补充一下:
对于服务器端控件里调用js,不可以直接绑后台变量,要先声明一下js变量,赋值为后台变量
代码如下 | 复制代码 |
<script> var testTxt=" <%=stetValue %>"; </script> <div> <input type="button" onclick="return confirm('<%=stetValue %>')" value="测试" /> //客户端控件可以直接用 <asp:Button ID="Button1" runat="server" Text="测试" OnClientClick="return confirm(testTxt)" /> </div> |
此外:
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="按钮" 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" > |
在.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; |
}