我正在编写一个mvc web应用程序,我正在尝试检查Html.ValidationSummary中是否有任何错误,以确定是否需要显示处理消息的div。
@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>
}
这是我收到的错误:
意外&#34;如果&#34;关键字&#34; @&#34;字符。一旦进入内部代码,就可以了 不需要像&#34;前缀#34;与&#34; @&#34;。
从我在这篇文章中读到的内容:here这是由于&#34; Html&#34;我的代码里面有。我理解错误,但我不知道如何绕过它。我想避免显示包装ValidationSummary的div,除非显示实际错误,否则显示纠正错误的消息并替换我的表单。
如果ValidationSummary没有要显示的消息,我该如何隐藏它?
答案 0 :(得分:1)
您正在收到该错误,因为您正在将部分视图rasor代码从Html.ValidationSummary()
呈现到if语句中。然后,编译器会看到validationSummary呈现并失败的任何@符号。
检查是否存在验证错误的简单检查是@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>
}
答案 1 :(得分:0)