asp.net与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’,’’)">
2.如何在JavaScript访问C#变量?
方法一:通过页面上隐藏域访问 <input id="xx" type="hidden" runat="server">
方法二:假如后台定义了public string N; 前台js中引用该变量的格式为 '<%=n%>' 或 "+<%=n%>+"
方法三:或者你可以在服务器端变量赋值后在页面注册一段脚本
"<script language='javascript'>var temp=" + tmp + "</script>"
tmp是后台变量,然后js中可以直接访问temp获得值。
3.如何在C#中访问JavaScript的已有变量?
方法一:在界面上放一个隐藏的控件HtmlInputHidden,然后设置为以服务器控件运行,这样在js脚本中和ASP.NET代码里都可以访问到该控件的值
js中给服务器控件赋值:
var bt=document.all('Name').value;
bt.value='名称';
ASP.NET后台使用Name.Value来访问。
4.如何在C#中访问JavaScript函数?
方法一:Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
5.js脚本如何访问服务器控件的值
假如界面上有一个TextBox控件,ID为Name。
js方式:var myvalue=document.all('Name').value;
Jquery方式:var myvalue=$.trim($("#Name").val(); 得到焦点:$("#Name").focus();
6.前台和后台之间的函数的调用(异步)
<head runat="server">
<title></title>
<script type="text/javascript">
function callServer(arg){
var oTb = document.getElementById('<%=editValue.ClientID %>');
// arg中是传给服务器的变量
arg = oTb.value;
<%=ClientScript.GetCallbackEventReference(this, "arg", "receiveServerResult", null, true)%>
}
function receiveServerResult(result){
// 在这里添加处理服务器返回结果的逻辑,result变量是服务器返回的结果
alert(result);
}
</script>
</head>
...//此处省略部分代码
<asp:TextBox ID="editValue" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit Data" OnClientClick="callServer();return false;" />
CS文件
C# code
//页面类继承ICallbackEventHandler接口,并实现其中的两个方法
public partial class _Default : System.Web.UI.Page , ICallbackEventHandler
{
private string m_strResult = "";
#region ICallbackEventHandler Members
public string GetCallbackResult()
{
// 返回服务器端处理结果给receiveServerResult方法
return m_strResult;
}
public void RaiseCallbackEvent(string eventArgument)
{
// eventArgument是客户端传来的变量,对应arg变量
// 在这里添加服务器端处理逻辑...
m_strResult = eventArgument;
}
#endregion
}