如何在 jQuery 验证插件中使用 Resources.resx

How to use Resources.resx in jQuery Validation Plugin

我想用 jQuery 验证插件验证一些表单。一切正常,直到我想使用资源文件中的消息。

这是我的代码:

$('#myform').validate({
    rules: {
        test1: {
            required: true,
        },
    messages: {
        test1: {
        required: "simple string works",
    },
});

我试过

'@Html.Raw(Resources.testRes)'
'@Resources.testRes'
'Resources.testRes'

当在 ASP.NET MVC 中请求页面时,操作(如果它有 ViewResult)将呈现视图和脚本包或 <script src="path">(来自视图或其布局)将导致浏览器在处理响应中发送的 html 时再次请求 .js 文件。

当此 js 在客户端上执行时,它无法访问 .resx 文件,因此任何使用 razor(或 aspx)的尝试都将是无效的 js。

如果您在视图中包含 <script></script> 内联,它将在服务器上呈现,并且您将引用 resx 文件,并且您之前的方法将起作用。

由于您正在编写内联 javascript,这有点混乱,因此请考虑布局的另一个局部视图,它以这种方式与 resx 交互以封装所有这些,或者更好的是 .js包含消息的参考文件。

还有一些其他的Whosebug questions about js and resx了解更多详情。