如何使用JavaScript访问嵌入式ASP.NET GlobalResources? - javascript

我正在开发一个遗留的ASP.NET项目,该项目正试图缓慢地进行调整,但是如果没有像巧克力手指屋一样塌陷的情况,我将无法进行重大更改。

我试图为此找到解决方案,但由于术语的特定混合(“ javascript”,“ embedded”和/或“ resource”只是为我提供了有关如何嵌入.js文件的信息,而失败了)。 。),这可能是一种怪异的处理方式。

该项目将App_GlobalResources用于可翻译的字符串,该字符串在C#代码,标记和某些JavaScript中使用。例如:

HTML:

Text="<%$Resources: Resources, MeasuresLabel %>"

JS:

setDialogTitle('summaryDialog', physicalElementName, Resources.Resources.Summary);

一切正常,直到我们开始使用NUnit进行一些集成测试。为了使Resources.resx可用于NUnit,我遵循了Scott Allen的suggestion,它适用于NUnit,但是意味着上面的Resources.Resources是未定义的。

因此,我的问题是关于这个嵌入式文件的,我如何使它可以被JavaScript访问(或者有更好的方法使之可供NUnit使用)?

由于要在单独的.js文件中而不是在.aspx文件中的脚本标记中进行访问的代码,因此增加了复杂性。

编辑
进一步研究之后,真正的挑战是JS中访问的属性是静态的。由于引用了这些位置,因此为每个正在使用的字符串添加变量是不切实际的。

参考方案

我认为JS文件不是通过ASP.NET引擎传递的,而是按原样提供,这就是为什么没有为您定义Resources.Resources.Summary的原因,而当嵌入到< .aspx文件。
我所知道的唯一方法是将使用的资源值存储在.aspx页上的全局javascript变量中,然后在加载的JS文件中使用它们。

获取JavaScript值到C#字符串 - javascript

                        是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

从ASP.NET MVC中的AngularJS控制器加载数据而无需加载整个页面 - javascript

这是我的动作: [HttpPost, ValidateAntiForgeryToken] public ActionResult GetData() { //get data from DB and populate model with data return View("Data", model); } 该视图是: @model UI…

通用日期时间格式 - javascript

我正在开发一个将日期时间从JavaScript(客户端)发送到Web服务(服务器端)的应用程序。现在,DateTime的问题在于它具有多种格式,并且在任何情况下客户端都可能具有与服务器不同的DateTime格式,这可能会中断服务器端对datetime的解析。我以为JavaScript的函数“ getTime()”将等同于C#的datetime属性“ Tick…

如何添加按钮并重定向到MVC4中的另一个视图? - javascript

我有一个疑问。我有一个称为CustomerMaster的视图。在CustomerMaster视图中,我有一个字段,例如'Area','City'等。如果城市已经在列表中,它将自动显示在Dropdown中。假设我需要的城市不在列表中,这意味着我必须添加该城市。因此,我决定在“城市”字段附近保留一个“添加”按钮。如果单击该按钮,则需要重定向到该视图。那么我该如何…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…