使用ServiceStack的外部htmlhelper扩展

时间:2013-05-18 18:15:51

标签: c# servicestack

是否可以在ServiceStack.Razor实现中使用System.Web.Mvc.HtmlHelper扩展。

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

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

由于

1 个答案:

答案 0 :(得分:3)

ServiceStack包含自己的MVC HtmlHelper扩展端口,但它们绑定到ServiceStack.Html HtmlHelper而不是MVC的HtmlHelper,它实际上是一个独立的,独立的具体实现。

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

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

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