方法一:使用
AJax(AJax培訓 )開發框架,後台方法定義前添加[AjaxPro.AJaxMethod],然後就可以在前台JS腳本中調用後台
C#(C#培訓 )函數。
方法二:後台方法聲明為public或者protected,然後前台使用JS腳本進行調用。
以下是代碼片段:.cs
public string Str()
{
return "Javascript(
Javascript教程 Java培訓 )函數中執行後台C#方法..";
}
.ASPx
<script type="text/Javascript">
var a = "<%=Str()%>";
alert(a);
</script>
方法三:使用Session變量
以下是代碼片段:.cs
if (Session["siteName"] == null)//判斷是否存在指定Key值的Session變量
Session["siteName"] = "";//如果不存在則創建Session變量
//給Session["siteName"]變量賦值
.ASPx
var siteName="<%=Session["siteName"] %>";
方法四
以下是代碼片段: <ASP:Button ID="Button1" runat="server" onclick="Button1_Click" style="display:none;"/>
<input type="button" id="btnSave " value="保存" onclick="GetBehind ();return false;" />
.ASPx.cs
<script type="text/Javascript">
//調用後台方法
//使用這種方式調用後台代碼,可以在調用之前在前台做一些驗證
function GetBehind() {
document.getElementById("Button1").click();
}
</script>
.cs
protected void Button1_Click(object sender, EventArgs e)
{}
如何在後台C#代碼中執行JavaScript函數
方法一:void Page.RegisterStartupScript(string key,string script);
方法二:使用隱藏域或者Literal控件,在前台使用js腳本把一些JS函數控制的值寫進隱藏域或者Literal控件,然後前台使用Hidden.Value或者Literal.Text讀取前台值。
以下是代碼片段: .ASPx
function GetTitleID(obj)
{
sTitleID=obj
if(sTitleID!=null)
document.getElementById("HiddenFIEld1").value=type+','+sTitleID;
else
document.getElementById("HiddenFIEld1").value=type+',0';
}
.cs
string hiddenValue = this.HiddenFIEld1.Value;