Create HtmlHelper instance in Controller
I need to do with HtmlHelper in Controll开发者_高级运维er, so how i create it in Controller (asp.net mvc 2.0)?
Is this what you want?
Using HtmlHelper in a Controller
EDIT
Use this;
System.IO.TextWriter writer = new System.IO.StringWriter();
var h = new HtmlHelper(new ViewContext(ControllerContext, new WebFormView("omg"), new ViewDataDictionary(), new TempDataDictionary(), writer), new ViewPage());
string g = h.TextBox("myname").ToString();
You can use method like this:
public static HtmlHelper GetHtmlHelper(this Controller controller)
{
var viewContext = new ViewContext(controller.ControllerContext, new FakeView(), controller.ViewData, controller.TempData, TextWriter.Null);
return new HtmlHelper(viewContext, new ViewPage());
}
public class FakeView : IView
{
public void Render(ViewContext viewContext, TextWriter writer)
{
throw new NotSupportedException();
}
}
精彩评论