0

我有以下自定义 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”的适用方法,但似乎具有该名称的扩展方法。扩展方法不能动态调度。考虑强制转换动态参数或在没有扩展方法语法的情况下调用扩展方法。

我不需要附加任何模型,所以我想知道如何在不编写新方法的情况下解决这个问题。

谢谢!

4

1 回答 1

0

我相信扩展方法无法确定您的调用MessageBox(string, Message)实际上是调用MessageBox(string, object). 您只需要将您的Message转换为object

@Html.MessageBox("msg", (object) new Message("Hola Mundo"))
于 2012-04-16T21:13:11.400 回答