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 实时响应