我不确定此解决方案是否适用于MVC3。它肯定适用于MVC4:
您可以在呈现字段之前先在Razor视图中禁用客户端验证,然后在呈现字段后重新启用客户端验证。
例:
<div > @{ Html.EnableClientValidation(false); } @Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" }) @{ Html.EnableClientValidation(true); }</div>在这里,我们禁用BatchId字段的客户端验证。
我也为此开发了一个小帮手:
public static class YnnovaHtmlHelper{ public static ClientSidevalidationDisabler BeginDisableClientSidevalidation(this HtmlHelper html) { return new ClientSidevalidationDisabler(html); }}public class ClientSidevalidationDisabler : IDisposable{ private HtmlHelper _html; public ClientSidevalidationDisabler(HtmlHelper html) { _html = html; _html.EnableClientValidation(false); } public void Dispose() { _html.EnableClientValidation(true); _html = null; }}您将按以下方式使用它:
<div > @using (Html.BeginDisableClientSidevalidation()) { @Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" }) }</div>如果有人有更好的解决方案,请告诉我!
希望能有所帮助。



