40

我尝试使用这行代码添加客户端验证:

@Html.EnableClientValidation()

但我不断收到此错误消息:

编译器错误消息:CS1502:“Microsoft.WebPages.WebPageUltimateBase.Write(Microsoft.WebPages.Helpers.HelperResult)”的最佳重载方法匹配有一些无效参数

这对其他人有用,还是在 ASP MVC 3 中是另一种方法?

4

5 回答 5

76

相反,您可以使用以下代码代替预期的代码行。

@(ViewContext.ClientValidationEnabled = true)

可能是对 htmlhelper 的扩展方法的疏忽。

实际上,您可以通过执行以下操作来使用 HtmlHelper 方法

@{ Html.EnableClientValidation(); }
于 2010-09-12T15:42:39.617 回答
68

嘿,在 ASP.NET MVC3 中,无需在视图页面中添加 Html.EnableClientValidation(),只需在 webconfig 文件中启用 clientValidation,如下所示:

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
于 2010-12-05T13:13:05.453 回答
6

这个标签

     @{ Html.EnableClientValidation(false); }

必须在

  @using (Html.BeginForm())
于 2011-05-02T16:07:02.790 回答
4

您是否在页面上使用 html<form>元素而不是Html.BeginForm创建 html FORM。

我遇到了完全相同的问题并解决了这是因为我没有使用Html.BeginForm创建我的 FORM 导致所需的输入属性data-val-required="The Email field is required." data-val="true" class="input-validation-error并且验证的占位符没有被注入到页面中,即使我@Html.ValidationMessageFor(m => m.User.Role)在我的视图中插入了页。

于 2011-01-04T16:51:24.890 回答
0

就我而言,我没有使用 EditorFor,而是使用 TextBoxFor!

确保您使用:

             <td>@Html.EditorFor(m => m.Email)</td>
于 2014-05-05T23:36:06.413 回答