【发布时间】:2016-11-16 15:48:43
【问题描述】:
我正在编写一个 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>
}
这是我收到的错误:
“@”字符后出现意外的“if”关键字。一旦进入代码,你就可以 不需要在诸如“if”之类的结构前面加上“@”。
从我在这篇文章中读到的内容:Unexpected "foreach" keyword after "@" character 这是由于我的代码中包含“Html”。我理解这个错误,但我不知道如何解决它。我想避免显示包装 ValidationSummary 的 div,除非确实有错误要显示,否则有关更正错误的消息会显示并取代我的表单。
如果 ValidationSummary 没有要显示的消息,我该如何隐藏它?
【问题讨论】:
-
错误是因为您的
@if(Html.ValidationSummary() != null) { ... }块在另一个代码块内(可能是因为它在@using (Html.BeginForm())内 - 只需删除@。但代码没有意义,因为它永远不可能是@ 987654326@(该方法返回一个MvcHtmlString)
标签: html css asp.net-mvc