做MVC有些日子了,突然在工作中需要使用到asp.net web2.0 的webform,感觉一下子又回到了过去,但是却发现自己在前台JQuery中怎么调用后台cs代码都忘记了。找了些相关的资料,逐个测试使用了下,效果不错。贴出来大家需要的是参考下。
<strong>1.在前台html控件调用c#后台变量。</strong> 在后台的类代码里定义一个字符串。如 public partial class Index : System.Web.UI.Page { public string msg = ""; } 然后可以写方法改变此字符串的值。 前台调用也很简单: <input id="Text1" type="text" value="<%=msg%>"/> <strong>2.在前台html调用c#后台方法</strong> 后台有一个方法: public string test() { return "message"; } 前台代码: <input id="Text2" type="text" value="<%=test()%>"/> <strong>3.在前台js里调用c#后台变量</strong> 后台代码: public partial class Index : System.Web.UI.Page { public string msg = ""; } 前台代码: <script>alert("<%=msg%>");</script> <strong>4.在前台js里调用c#后台变量</strong> 后台有一个方法: public string test() { return "message"; } 前台代码: <script>alert("<%=test() %>");</script> <strong>5,前台js里调用后台带参数的方法</strong> public string test(string a) { return a+",我是参数传进来的"; } <script>alert("<%=test("021") %>");</script> <strong>6,前台js里调用后台带参数的方法</strong> //商品信息 function getProInfo(t) { var result = ""; result = MallPowerSite.order.ChangeOrderEdit.GetProductInfo(t).value;//后台的方法,注意这里不用双引号 return result; }
值得注意的是,要在js中调用C#的变量和函数返回的结果,js代码必须写在页面的<script>...</script>中,而不能写在独立的*.js文件中,这样会js会将*.js的C#代码作为字符串处理,而不是变量或者方法。