0

我的视图页面是这样的;

@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>

我的错误;

在此处输入图像描述

4

1 回答 1

1

您在问题中显示的代码:

@foreach (var item in Model)
{
    @Html.MyCustomHtmlHelper("test")
}

与 YSOD 中显示的代码不对应:

<td>
    @Html.MyCustomHtmlHelper(TestValue)
</td>

看起来在您的真实代码中(您没有向我们展示),您使用了一些TestValue变量。不幸的是,很难知道这个变量是如何/在哪里/什么类型声明的,但如果它不是,string那么很明显你的自定义助手将无法工作,原因很简单,这个助手需要一个字符串参数。

于 2013-07-08T06:30:46.980 回答