.net中前台javascript与后台C#交互

.net中前台javascript与后台C#交互

如何在JavaScript访问后台C#方法、变量

方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数。

方法二:后台方法声明为public或者protected,然后前台使用js脚本进行调用。

.cs

public string Str()

     {

         return "javaScript函数中执行后台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;

.net中前台javascript与后台C#交互,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。