這裡主要包括了javascipt與後台CS代碼四種方法互調(其中包括函數與變數的訪問)。
1.JavaScript訪問C#函數
javaScript函數中執行C#代碼中的函數:
方法一:
a、比如說建立一個ID為“btn”的Button,在後台cs代碼中將調用或處理的內容寫入button_click中;
b、在HTML前台頁js中調用:document.getElementById("btn").click();該行code調用背景button_click事件。
方法二:
a、直接在HTML前台頁面中調用後台代碼,如有以下後台代碼:
public string GetValue()
{
return "return value from .cs code";
}
b、接下來在HTML頁面中調用後台方法,如下代碼
function ShowValue()
{
var retVal=<%=GetValue()%>; //後台代碼寫在<%%>中
window.alert(retVal);
}
2.JavaScript訪問C#變數
方法一:
a、通過頁面上隱藏欄位訪問,可以在後台把c#變數值儲存到隱藏文本域當中。
<input id="xx" type="hidden" runat="server">
b、然後在前台javascript當中直接取隱藏文本域的值。
document.getElementById('xx').value
方法二:
a、在伺服器端變數賦值後在頁面註冊指令碼
Page.RegisterStartScript(" ","<script language='javascript'>var vary=" + value + "</script>");
value是後台變數,然後javascript中可以直接存取vary值,它的值就是後台變數value的值,這種方式只不過是能過一種間接的方式來訪問c#變數。
3.C#中訪問JavaScript的變數
方法一:
a、將javascript變數值寫入到前台HTML頁面使用靜態文本控制項隱藏欄位當中;
b、後台用Request["id"]來擷取值;
方法二:
可以用cookie或session
4.C#中訪問JavaScript函數
方法一:
a、Page.RegisterStartupScript("function","<script>你要調用的javascript函數名稱;</script>");
方法二:
b、使用LiteralControl,如下在Button_Click中調用javascript函數
public void Button_Click(object sender,System.EventArgs e)
{
LiteralControl li = new LiteralControl();
li.Text="<script>要調用的javascript函數名稱;</script>";
Controls.Add(li);
}
寫到這裡了,如果你覺得對你有用的話,就頂一下。如有錯誤,請指出,不甚感激。