2016-11-16 17 views
0

私はmvc Webアプリケーションを作成していますが、メッセージを処理するdivを表示する必要があるかどうかを判断するためにHtml.ValidationSummaryにエラーがあるかどうかを確認しようとしています。Html.ValidationSummaryのエラーを確認するにはどうすればよいですか?

@if(Html.ValidationSummary() != null) 
    { 
    <div class="registration-val-summary"> 
     <label class="registration-val-label"> 
     Please correct the following issues with your registration: 
     </label> 
     @Html.ValidationSummary() 
    </div> 
    } 

これは私が受け取るエラーです: "@" 文字の後にキーワード "場合"

予期しません。一度コードの中に入れば、 は "if"のような構造体を "@"の前に置く必要はありません。

私がこの記事で読んだことから:Unexpected "foreach" keyword after "@" characterこれは、私のコードの中にある「Html」のためです。私はエラーを理解するが、私はそれを回避する方法を知らない。実際にエラーが表示されない限り、エラーを修正するメッセージが表示され、フォームを置き換えない限り、ValidationSummaryをラップするdivを表示しないようにします。

ValidationSummaryに表示するメッセージがない場合、どのように非表示にしますか?

+0

を行うには、エラーがあるさ(おそらくその内部の '@using(Html.BeginForm())'が '@'を取り除くだけなので、別のコードブロックの中にあるかもしれませんが、 'null 'にはならないのでコードは意味を持ちません(' MvcHtmlString' ) –

答えて

1

パーシャルビューラーサーコードをHtml.ValidationSummary()からifステートメントにレンダリングするため、このエラーが発生します。コンパイラは、validationSummaryがレンダリングして失敗する@記号をすべて確認します。

{...} `ブロックがある、あなたの` @If(Html.ValidationSummary()!= null)のため、検証エラーがあるかどうかを確認するための簡単なチェックが@if(!ViewData.ModelState.IsValid)

@if(!ViewData.ModelState.IsValid) 
    { 
    <div class="registration-val-summary"> 
     <label class="registration-val-label"> 
     Please correct the following issues with your registration: 
     </label> 
     @Html.ValidationSummary() 
    </div> 
    } 
+0

レスポンスのTy。このコードを正確にコピーして貼り付けました。あなたはそれを持っていると私は同じメッセージを "予期しない"私は得る"@"文字の後ろの "f"キーワード " – ErocM

+1

もし私が削除したら、それは働いた! – ErocM

+0

'@ Html.ValidationSummary()'は 'if'ブロックの外にある必要があります。他の点では最初はレンダリングされず、クライアント側の検証には使用できません –

0

Html.ValidationSummary()が表示されます。このページには妥当性チェックのエラーがある場合にのみ表示されます。

何をしようとしているすでにHtml.ValidationSummary()ヘルパーによって達成されると、それはモデル状態ディクショナリからすべての検証エラーメッセージの順序なしリストを含むHTML div要素を返し[Source]

Html.ValidationSummary()部分ビューをレンダリングしていますが、カスタマイズ/あなたのケースでは、このanswer

に従うことによって、ビューを拡張することができ、あなたは

<div class="registration-val-summary"> 
    <label class="registration-val-label"> 
    Please correct the following issues with your registration: 
    </label> 
</div> 
を作成するカスタマイズされたビュー内で、次のコードを配置したい場合があります
+0

@MikirKale Tyのレスポンスです。元々はそのコードを入れましたが、メッセージがあるかどうかに関わらず、 "Please correct ..."が表示されます。 – ErocM

関連する問題