前台的JS传值到后台程序代码报错????
一个页面:A.aspx
我想实现A.aspx的JS定义的变量传值到.cs文件里面处理,报错,这个机制是怎么运行的,不太明白,大侠们有没有什么号的解决办法,当然,AJAX异步可以实现,但很曲折。我有点懵了
我的代码如下:
前台:
HTML code
<input id="Button1" type="button" value="查找市场C" onclick="GetMarket()" />
<script type="text/javascript">
function GetMarket() {
var areaItem0 = document.getElementById("areaCodeSelect_item_0").value;
var areaItem1 = document.getElementById("areaCodeSelect_item_1").value;
var areaItem2 = document.getElementById("areaCodeSelect_item_2").value;
//GetMsg(string,string)带参数的C#方法
alert(<%=GetMsg(areaItem0,areaItem1)%>);
}
</script>
后台:
C# code
protected string GetMsg(string a,string b)
{
return "is:"+a + b;
}
------解决方案--------------------你这样直接传是不行的,用ajaxpro就可以了
------解决方案--------------------http://www.cnblogs.com/lexus/archive/2007/11/29/977281.html看看这个就知道了,很简单的
------解决方案--------------------楼主 你想多了 你应该先搞清楚asp.net的机制 你要知道 你的表达式在aspx页面上 经过编译之后会输出html或者js 在编译的过程中 asp.net是不认识你的areaItem0和areaItem1变量的 在编译的完毕之后 你去请求这个页面 在render的时候 会执行这段表达式<%=%> 但是在编译的过程中 他都找不到你的areaItem0变量 所以会报错
------解决方案--------------------还有,楼主,你也应该明白b/s架构的请求方式 是分成客户端和服务端2边交互的 那么如果你想在客户端调用服务端的方法,就必须去请求服务端,要么你用postback,要么你用ajax。
------解决方案--------------------直接定义一个服务器端的隐藏按钮。在后台拿值。最后在传递到前台就好了啊。