关于在ASP.NET MVC应用程序中包含javascript运行时相关代码的最佳实践

时间:2009-10-15 21:28:17

标签: javascript asp.net-mvc localization

我有一些javascript代码,其中包含我从资源文件中提取的本地化消息。我的问题是,如果我包含我的javascript文件,如...

<script scr="..." type="text/javascript"/>
例如,在我的母版页中

,然后&lt;%= Resources ...%&gt;代码未在视图呈现上运行。我目前解决此问题的方法是在我的母版页中包含脚本标记内的完整代码,但我不喜欢它。

有更好的建议吗?

2 个答案:

答案 0 :(得分:3)

您需要关闭所有脚本标记,以便IE接受JavaScript:

<script>....</script>

<script .... />

答案 1 :(得分:0)

了解问题

当服务器呈现您的页面时,在运行时解析内联asp.net标记(例如'<%= %>'。 为了使ASP.Net能够解析文档,需要由网络服务器指定扩展由aspnet_isapi ISAPI extension处理。

您要添加asp.net代码的常规JavaScript文件将永远不会通过此扩展程序运行,因此永远不会被正确“编译”。

现在有解决方案吗?

Mads Kristensen在2008年写了一篇关于这个问题的博客文章。它仍然有效,并且应该完全符合你的需要。 见http://madskristensen.net/post/Localize-text-in-JavaScript-files-in-ASPNET.aspx

他使用.axd扩展名,该扩展名也由aspnet_isapi ISAPI扩展名处理。

另一个非常好的帖子可以在这里找到更具体针对asp.net mvc的问题:http://afana.me/post/aspnet-mvc-internationalization.aspx

希望这有帮助。