在哪里包含不显眼的验证脚本

时间:2011-03-25 10:52:40

标签: asp.net-mvc-3 razor unobtrusive-javascript

我在ASP.MVC中很新,我觉得我错过了什么。

我正在使用jquery unobstrusive验证,所以在我的所有编辑视图中,我都包含了这个

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript" />
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript" />

然后,我认为可以将此代码从每个编辑视图移动到_layout文件。

我做到了,现在所有的验证都不起作用。

问题是......为什么?我想如果我将脚本包含在_layout文件中,这将包含在我的应用程序的所有视图中。事实上,我在那里包含了一个扩展器插件,它在整个解决方案中运行良好。验证有一些特殊的行为,我必须将它包含在每个编辑视图中......或者我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:1)

确保每个需要验证的页面都包含此代码:

    @{
        Layout = "~/Views/Shared/_Layout.cshtml";        
     }

作为推荐,请手动包含它们,因为通过将它们放在_Layout中,您强制每个页面都包含无用的文件,这对您网站的整体体验不利。