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 要素を使用していますか。Html.BeginForm

私はこれとまったく同じ問題を抱えていましたがHtml.BeginForm、フォームの作成に使用していなかったため、必要な入力属性が発生し、ビューに挿入されて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 に答える