我的观看页面就像这样;
@model IEnumerable<Project.ViewModels.ViewModel>
@using Helpers
@foreach (var item in Model)
{
@Html.MyCustomHtmlHelper("test")
}
我的自定义HtmlHelper就像这样;
public static MvcHtmlString MyCustomHtmlHelper(this HtmlHelper helper, string TestValue)
{
var builder = new StringBuilder();
builder.Append(TestValue);
return MvcHtmlString.Create(builder.ToString());
}
适用于@model Project.ViewModels.ViewModel
但不适用@model IEnumerable<Project.ViewModels.ViewModel>
我的错误;
答案 0 :(得分:1)
您在问题中显示的代码:
@foreach (var item in Model)
{
@Html.MyCustomHtmlHelper("test")
}
与YSOD中显示的代码不对应:
<td>
@Html.MyCustomHtmlHelper(TestValue)
</td>
在您的真实代码中(您尚未向我们展示),您使用了一些TestValue
变量。不幸的是,很难知道这个变量声明的类型/位置/是什么类型,但如果它不是string
,那么你的自定义帮助器不能正常工作,原因很简单,因为这个帮助器需要一个字符串参数。