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
}