Ich schreibe eine MVC Web App und ich versuche zu überprüfen, ob es Fehler in der Html.ValidationSummary gibt, um festzustellen, ob ich das div, das die Nachrichten behandelt, anzeigen muss.Wie überprüfe ich die Html.ValidationSummary auf Fehler?
@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>
}
Dies ist der Fehler, die ich erhalte:
Unexpected "if" Stichwort nach Zeichen "@". Sobald Sie den Code eingegeben haben, müssen Sie keine Konstrukte wie "if" mit "@" voranstellen.
Von dem, was ich in diesem Post gelesen: Unexpected "foreach" keyword after "@" character Es ist aufgrund der "Html", die ich in meinem Code habe. Ich verstehe den Fehler, aber ich weiß nicht, wie ich damit umgehen soll. Ich möchte vermeiden, das div anzuzeigen, das die ValidationSummary umschließt, es sei denn, dass tatsächlich Fehler angezeigt werden, andernfalls wird die Nachricht zu dem Korrigieren Ihres Fehlers angezeigt und mein Formular verschiebt.
Wie kann ich dies ausblenden, wenn ValidationSummary keine anzuzeigenden Meldungen enthält?
Der Fehler zu tun ist, weil Ihr '@if (Html.ValidationSummary()! = Null) {...}' Block innerhalb eines anderen Codeblocks (wahrscheinlich weil es in '@ using (Html.BeginForm())' ist - entferne einfach das '@'. Aber der Code macht keinen Sinn, da er nie 'null' sein kann (die Methode gibt einen' MvcHtmlString' zurück) –