我的控制器中需要一个HtmlHelper实例。
如何实例化一个?感谢
这不会构建:
var h = new HtmlHelper(new ViewContext(ControllerContext, new WebFormView("omg"), new ViewDataDictionary(), new TempDataDictionary()), new ViewPage());
以下是错误的屏幕截图
另外,当我查看var h
下的方法列表时,我只会看到自定义扩展方法,而不会看到ActionLink
等常规方法。因此,人们也需要列出。 (由sternr解决)
解决方案:
确保包含System.Web.Mvc.Html。
以下是实例化HtmlHelper的代码。
System.IO.TextWriter writer = new System.IO.StringWriter();
var html = new HtmlHelper(new ViewContext(ControllerContext, new WebFormView(ControllerContext, "omg"), new ViewDataDictionary(), new TempDataDictionary(), writer), new ViewPage());
答案 0 :(得分:2)
HtmlHelper.ActionLink和您可能正在寻找的大多数方法都是在System.Web.Mvc.Html
命名空间下声明的扩展方法。
至于在控制器中使用HtmlHelper实例化\ - 这是一个不好的做法,因为你明确地将UI代码与Controller代码结合起来。你想要实现什么目标?