ASP.NET MVC:如何从控制器方法调用自定义Html Helper?

时间:2010-12-30 20:32:08

标签: asp.net asp.net-mvc json

我正在尝试编写一个返回ActionResult的控制器方法。

在这种方法中,我想: 1.调用HTML帮助器方法 2.捕获HTML帮助程序呈现的HTML并将其存储在字符串中 3.返回方法,将呈现的HTML包装为JSON

如何从我的控制器方法调用Html Helper方法?简单地使用静态类HtmlHelper不起作用。

1 个答案:

答案 0 :(得分:4)

var helper = new HtmlHelper<TModel>(new ViewContext(), new ViewPage());

或者,如果这不起作用,你可以试试这个。

Stream filter = Stream.Null;
StreamWriter writer = new StreamWriter(filter);
var viewContext = new ViewContext(this.ControllerContext, 
    new WebFormView("MyView"), 
    new ViewDataDictionary(this.ViewData), 
    new TempDataDictionary(), writer);
var helper = new HtmlHelper<TModel>(viewContext, new ViewPage());

只需将TModel替换为您的模型类型。