我使用
创建了一个剃刀助手@helper MyHelper(string param) {
}
语法。我需要能够访问模型状态以确定是否应该向元素添加错误类。我该如何访问? Intellisense确实显示了ModelState,但它始终为null。
在剃刀页面中,我会使用ViewData.ModelState,但ViewData不存在于上下文中。
答案 0 :(得分:2)
调用此帮助程序方法时,需要从视图中显式传递视图上下文。
@helper MyHelper(string param,ViewContext context) {
<div>
@foreach (var modelStateVal in context.ViewData.ModelState.Values)
{
foreach (var error in modelStateVal.Errors)
{
<p>@error.ErrorMessage</p>
}
}
</div>
}
并在视图中要调用它,
@MyHelperClass.MyHelper("Hello",this.ViewContext)
另一种选择是创建一个Html Hepler方法