日期:2014-05-17  浏览次数:20374 次

js中以<%=%>获取不了数值
当我把js代码写在aspx页面时能获取值,
代码如下:<script type="text/javascript">
       function Init() {
        var name = "中国";
        var str = '<%=CsharpVoid("' + name + '") %>';
        alert(str);
    }
</script>
此时str能动态的获取值;

但是如果把代码写在纯js页面中就不行,会原样输出,

输出结果是:写在aspx中alert的是“中国”;
但是写在js中的是“<%=CsharpVoid("' + name + '") %>”
请问有什么办法可以做到在纯js页面中也能获取值
js c#

------解决方案--------------------
觉得你方法不对,应该是调用函数的地方这样写:onclick="init(<%=Eval(name) %>);"


<script type="text/javascript">
       function Init(item) {
                alert(item);
    }
</script>
也就是javascript中用到的参数,都是外部传进来的,
------解决方案--------------------
<%=  %>是由.net运行时进行解释的,因此它们必须包含在asp.net 运行时能够处理的文件中。
.aspx. .ascx等是由asp.net处理后,返回给客户端。
而js. html等是由IIS直接返回给客户端,因此<%=  %>无法使用。可以从aspx中传值过去。
------解决方案--------------------
你想太多了,你没有post给服务器,又怎么能返回值给你呢?

b/s  只响应一次请求,然后断开  ,所以我们需要用ajax技术让js与服务器发送请求,然后接收结果

c/s 实时响应