日期:2014-05-18  浏览次数:20453 次

高分求javascript前台脚本如何调用c#后台函数并传递变量实参
代码框架如下:
javascript脚本
<script   language=javascript>
var   arr=new   array();
for(i=0;i <10;i++)
{
        arr[i]= <%=CSharpVoid(i)%> ;
}
</script>

CS代码
public   string   CSharpVoid(int   i)
{
}
我试了下,如果调用CSharpVoid函数时传递具体数值就没问题,但是一传递变量i就出错。请各位帮帮忙,给个写法。谢谢

------解决方案--------------------
这样是不行的.不能调用服务器的方法...

你可以借助控件或者第三方的其它什么东西来传递值啊...

通过隐藏域做啊...
------解决方案--------------------
arr[i]= <%=CSharpVoid(i)%> ;
这个地方改一下
这样写试试
arr[i]=你后台CS文件的名称.CSharpVoid(i);
就像这样
var reg =CGGL_QGD.GetByArea1(code);
下面是CS
public string GetByArea1(string AreasCode1)
{
return 反回的东西;
------解决方案--------------------
我记得这种功能用ajax技术实现最方便
------解决方案--------------------
服务器端的变量和函数客户端都可以引用,但客户端的变量,服务器端是认不出的,客户端是本地浏览器的变量,除非使用ajax
------解决方案--------------------
直接用ASP.NET AJAX吧,写好的框架给你用,可以直接和Web Service交互操作。推荐看Dflying的blog:
http://dflying.cnblogs.com
------解决方案--------------------
也许换个思路,这个问题就迎刃而解了

你这个是把Js的变量传给C#,那可不可以把C#代码传给Js呢?

你那个
CS代码
public string CSharpVoid(int i)
{
}
也无外乎是什么select * from X where XX=i之类的
你可以把想要的一次select出来,然后在页面赋给js