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
}
?
?
?
轉載于:https://www.cnblogs.com/zuoguanglin/archive/2012/03/04/2378853.html
總結
以上是生活随笔為你收集整理的asp.net与JAVASCRIPT函数的相互调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家族最帅轿跑!新一代MG 7官图:无框车
- 下一篇: 3G与4G到底有何区别?