【问题标题】:asp.net mvc 4 razor custom html helper pass IEnumerable<model>asp.net mvc 4 razor 自定义 html 助手通过 IEnumerable<model>
【发布时间】:2012-09-13 15:00:10
【问题描述】:

我有强类型列表视图

我有自定义的 html 助手,它必须得到 IEnumerable&lt;object&gt;

是否可以将我的模型(@model IEnumerable&lt;MvcApplication2.Models.UserViewModel&gt;)传递给我的 html 助手?

【问题讨论】:

    标签: asp.net asp.net-mvc razor html-helper


    【解决方案1】:

    如果你的助手是这样定义的:

    public static IHtmlString SomeHelper(this HtmlHelper<IEnumerable<object>> html)
    

    那么不可能这样称呼它:

    @model IEnumerable<MvcApplication2.Models.UserViewModel>
    @Html.SomeHelper()
    

    另一方面,如果它是这样定义的:

    public static IHtmlString SomeHelper(this HtmlHelper html, IEnumerable<object> model)
    

    您可以从视图中调用它并传递模型:

    @model IEnumerable<MvcApplication2.Models.UserViewModel>
    @Html.SomeHelper(Model)
    

    【讨论】:

    • 你好,达林。你已经在另一个问题上帮助了我。第一种方法给出了这样的异常:方法'SomeHelper'没有重载需要0个参数。第二:方法'SomeHelper'没有重载需要1个参数
    • @Acid,第一种方法正常。我在回答中说您不能使用它。就第二个问题而言,请确保您已完全按照我的说明定义了帮助程序签名,并且您已通过添加正确的 using 指令将定义此类的命名空间带入视图的范围。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 2012-09-04
    • 2012-06-13
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多