Create HtmlHelper instance in Controller

大憨熊 提交于 2019-12-04 04:15:37

问题


I need to do with HtmlHelper in Controller, so how i create it in Controller (asp.net mvc 2.0)?


回答1:


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();



回答2:


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();
 }
}


来源:https://stackoverflow.com/questions/2083713/create-htmlhelper-instance-in-controller

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!