如何在jQuery Validation Plugin中使用Resources.resx

时间:2015-06-18 08:31:16

标签: jquery asp.net resources jquery-validate unobtrusive-validation

我想用jQuery Validation Plugin验证一些表单。一切都很好,直到我想使用Resources文件中的消息。

这是我的代码:

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

我试过把

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

还有一些其他stackoverflow questions about js and resx了解详情。