1

是否可以将 System.Web.Mvc.HtmlHelper 扩展与 ServiceStack.Razor 实现一起使用。

我正在尝试使用 Ext.NET 扩展,但 DevExpress、Kendo 等其他扩展也有同样的问题。

也许可以使用正确的数据创建 System.Web.Mvc.HtmlHelper 的实例并将该实例传递给其他扩展并将结果返回到 ServiceStack.Html.HtmlHelper 实例。

谢谢

4

1 回答 1

3

ServiceStack 包括它自己的 MVC HtmlHelper 扩展端口,但它们绑定到ServiceStack.HtmlHtmlHelper 而不是 MVC 的 HtmlHelper,后者实际上是一个独特的、单独的具体实现。

这导致绑定到 MVC 具体 HtmlHelper 的库不能与绑定到 ServiceStack 的 HtmlHelper 的库互换。

这不是一个理想的场景,并且显示了绑定到静态类型语言中具体实现的局限性。一个解决方案是让 Ext.NET、DevExpress 等提供的适配器类绑定到除了 MVC HtmlHelper 之外的 ServiceStack 的具体 HtmlHelper。

理想的解决方案是让 ASP.NET 框架包含一个空IHtmlHelper标记接口(避免对 MVC 的依赖),让所有具体的 HtmlHelper 实现相同的接口,并让每个人都提供 HtmlHelper 扩展来绑定到IHtmlHelper接口。

于 2013-05-19T15:22:14.947 回答