[英]How can I access embedded ASP.NET GlobalResources in JavaScript?
我正在研究一个遗留的ASP.NET项目,我试图慢慢地按摩它,但如果不像巧克力手指房子那样崩溃,我就无法做出重大改变....
我试图找到一个解决方案,但由于术语的具体组合(“javascript”,“嵌入式”和/或“资源”只是给我关于如何嵌入.js文件的信息,因此失败了。 。),以及它可能是一种奇怪的做事方式。
该项目利用App_GlobalResources进行可翻译的字符串,后者用于C#代码,标记和一些JavaScript中。 例如:
HTML:
Text="<%$Resources: Resources, MeasuresLabel %>"
JS:
setDialogTitle('summaryDialog', physicalElementName, Resources.Resources.Summary);
这一切都运行正常,直到我们开始使用NUnit进行一些集成测试。 为了使Resources.resx可用于NUnit,我遵循了Scott Allen的建议 ,该建议适用于NUnit,但意味着上面的Resources.Resources未定义。
所以,我的问题是这个嵌入式文件,我如何让它可以访问JavaScript(或者有更好的方法让我可以使用NUnit)?
由于我希望通过在单独的.js文件中访问它而不是在.aspx文件中的脚本标记内访问它,因此会增加复杂性。
编辑在看了一些之后,真正的挑战是在JS中访问的属性是静态的。 由于引用这些位置的数量,为每个正在使用的字符串添加变量是不实际的。
我认为JS文件没有通过ASP.NET引擎,它们按原样提供,这就是为什么在你的情况下没有定义Resources.Resources.Summary,而它嵌入在<script>
标签中时可以工作.aspx文件。 我知道的唯一方法是将已使用的资源值存储在.aspx页面上的全局javascript变量中,然后在加载的JS文件中使用它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.