当我点击提交时,我看到验证失败。有很多红色标签错误。但是,页面仍然是POST。我怎么能让这个东西失败的客户端?
注意。此问题仅发生在Chrome v33.0中。 IE v10和FF v26.0不这样做。 Cookies are enabled for chrome。此外,运行Visual Studio调试器时不会发生此问题。调试器配置为使用本地IIS服务器。它只发生在开发服务器上。
我在web.config中配置了客户端验证:
<appSettings>
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
我的表单如下:
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
//fields....
<p>
<input type="submit" value="Create" />
</p>
}
我的推荐应该是完整的:
<script src="@Url.Content("~/Scripts/jquery-ui-1.10.4.custom.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/DataTables-1.9.4/media/js/jquery.dataTables.min.js")" type="text/javascript"></script>
<link rel="stylesheet" href="@Url.Content("~/Content/Themes/start/jquery-ui-1.10.4.custom.css")" />
<link rel="stylesheet" href="@Url.Content("~/Content/Site.css")" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/customItemRequestValidation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/conditional-validation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/CatalogScript.js")" type="text/javascript"></script>
答案 0 :(得分:0)
该问题与Windows 7和Server 2008有关。当我将主机更改为Windows 8(我怀疑服务器2012)时,问题就消失了。我在过去遇到过与IIS版本相关的MVC问题。我知道MVC会修改IIS。所以,我猜这里有一个与IIS版本相关的错误以及MVC如何与IIS一起工作导致问题。
为了解决这个问题,我可以: