前台的JS传值到后台程序代码报错?该怎么解决

前台的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。
------解决方案--------------------
直接定义一个服务器端的隐藏按钮。在后台拿值。最后在传递到前台就好了啊。