我有以下自定义HtmlHelper签名:
public static MvcHtmlString MessageBox(this HtmlHelper htmlHelper, string name, object value, object htmlAttributes = null) {...}
我将这个助手用于我的剃刀视图中,如下所示:
@Html.MessageBox("msg", ViewBag.Message)
它可以工作,但是当视图强大时我输入了这个错误:
编译器错误消息:CS1973:'System.Web.Mvc.HtmlHelper'没有名为'MessageBox'的适用方法,但似乎有一个名称的扩展方法。无法动态分派扩展方法。考虑转换动态参数或调用扩展方法而不使用扩展方法语法。
我不需要附加任何模型,所以我想知道如何在不编写新方法的情况下解决这个问题。
谢谢!
答案 0 :(得分:0)
我认为扩展程序无法确定您对MessageBox(string, Message)
的调用实际上是对MessageBox(string, object)
的调用。您只需将Message
投射到object
:
@Html.MessageBox("msg", (object) new Message("Hola Mundo"))