C# 创建其他类型的htmlhelper实例

C# 创建其他类型的htmlhelper实例,c#,asp.net-mvc,extension-methods,html-helper,C#,Asp.net Mvc,Extension Methods,Html Helper,我有一个HtmlHelper扩展方法,它可以接受一个T类型的模板参数。接下来,在该方法中,我想为标记有特殊属性的对象中的某些字段返回编辑器。问题是,我为HtmlHelper的实例调用此方法,但在该方法中,我需要HtmlHelper的实例来使用其编辑器方法。我尝试创建如下默认实例: var html = new HtmlHelper<T>(new ViewContext(), new ViewPage()); var html=new-htmlhelp(new-ViewConte

我有一个HtmlHelper扩展方法,它可以接受一个T类型的模板参数。接下来,在该方法中,我想为标记有特殊属性的对象中的某些字段返回编辑器。问题是,我为HtmlHelper的实例调用此方法,但在该方法中,我需要HtmlHelper的实例来使用其编辑器方法。我尝试创建如下默认实例:

var html = new HtmlHelper<T>(new ViewContext(), new ViewPage());  
var html=new-htmlhelp(new-ViewContext(),new-ViewPage());
但是,当然,它不起作用。

那么,我如何才能创建正确的实例呢?

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

你有没有试过这样的方法:

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
}
公共静态IHtmlString MyExtensionMethod(此HtmlHelper html,T模型),其中T:IMyModel
{
//例如,使用html.TextBox返回新HtmlString的逻辑
}
“它不起作用”没有告诉我们任何事情。请解释你得到的实际结果,并告诉我们你期望的结果。另外,请提供更多的代码来演示您正在尝试执行的操作。