是否可以在ServiceStack.Razor实现中使用System.Web.Mvc.HtmlHelper扩展。
我正在尝试使用Ext.NET扩展,但其他扩展程序,如DevExpress,Kendo也有同样的问题。
也许可以使用正确的数据创建System.Web.Mvc.HtmlHelper的实例,并将该实例传递给其他扩展,并将结果返回到ServiceStack.Html.HtmlHelper实例。
由于
答案 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
接口。