创建另一种类型的 htmlhelper 实例

Posted

技术标签:

【中文标题】创建另一种类型的 htmlhelper 实例【英文标题】:create htmlhelper instance of another type 【发布时间】:2013-03-23 08:21:53 【问题描述】:

我有 htmlHelper 扩展方法,它可以接受一个 T 类型的模板参数。接下来,在方法内部,我想为对象中标有特殊属性的某些字段返回编辑器。问题是我将此方法称为 HtmlHelperTModel> 的实例,但在方法内部我需要 HtmlHelper 的实例T> 使用它的 Editor 方法。我试图创建这样的默认实例:

var html = new HtmlHelper<T>(new ViewContext(), new ViewPage());  

但是,当然,它不起作用。 那么,我怎样才能创建正确的实例呢?

【问题讨论】:

“它不起作用”并没有告诉我们任何事情。请解释您获得的实际结果并告诉我们您期望的结果。另外,请提供更多代码来演示您要执行的操作。 【参考方案1】:

我认为您不需要重新实例化它。

你有没有尝试过这样的事情:

public static IHtmlString MyExtensionMethod<T>(this HtmlHelper html, T model) where T : IMyModel

    //your logic that returns a new HtmlString with html.TextBox for example

【讨论】:

以上是关于创建另一种类型的 htmlhelper 实例的主要内容,如果未能解决你的问题,请参考以下文章

ts:“道具”可以用与另一种类型无关的任意类型实例化

自定义HtmlHelper控件

无法将对象类型“System.Web.Mvc.HtmlHelper` 1 [System.Object]”转换为“System.Web.Mvc.HtmlHelper”

流:通过扩展另一种类型来创建流类型

是否可以创建自定义 ASP.NET MVC 强类型 HTML Helper?

流程:通过扩展另一种类型来创建流类型