0

全部,如果我在 aspx 页面中添加一个内联表达式,如下所示。

<script type="text/javascript">
   var notAcceptError='<%= lblMessage%>';//the actually value is "test message"
</script>

据我们所知。lblMessage在 aspx 的代码隐藏文件中应该存在一个名为的变量。这样,一切都很好。但是如果我将上面的代码移动到一个由同一页面链接的 js 文件中。表达式的输出失败。似乎 asp.net 无法识别此表达式。我不明白为什么这在链接的外部 js 文件中不起作用。在我的理解中。写在aspx或者外部js都是一样的。谢谢。

4

2 回答 2

2

你的理解是错误的。ASPX 文件被解析和评估,而 JS 文件是从服务器提供的,没有任何解析或评估。

于 2013-06-13T06:02:48.917 回答
2

asp.net 内联表达式仅适用于.aspx文件。它不会在.js文件中工作,因为.js文件作为静态文件并且在运行时不被解析。

如果你真的想在代码绑定文件中使用变量值,js你可以这样做。

在您的 aspx 文件中执行此操作。

<script type="text/javascript">
   var notAcceptError = '<%= lblMessage%>'; //the actually value is "test message"
</script>

<%-- please note the external file is referenced after the javascript variable --%>
<script type="text/javascript" src="myjsfile.js">
</script>

在你myjsfile.js使用这样的变量

alert(notAcceptError);
于 2013-06-13T06:06:21.130 回答