Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 HtmlHelper-in控制器_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 HtmlHelper-in控制器

Asp.net mvc 3 HtmlHelper-in控制器,asp.net-mvc-3,Asp.net Mvc 3,我的控制器中需要一个HtmlHelper实例 如何实例化一个?谢谢 这不会构建: var h = new HtmlHelper(new ViewContext(ControllerContext, new WebFormView("omg"), new ViewDataDictionary(), new TempDataDictionary()), new ViewPage()); 这是错误的屏幕截图 另外,当我查看var h下的方法列表时,我只看到我的自定义扩展方法,没有像ActionLi

我的控制器中需要一个HtmlHelper实例

如何实例化一个?谢谢

这不会构建:

var h = new HtmlHelper(new ViewContext(ControllerContext, new WebFormView("omg"), new ViewDataDictionary(), new TempDataDictionary()), new ViewPage());
这是错误的屏幕截图

另外,当我查看
var h
下的方法列表时,我只看到我的自定义扩展方法,没有像
ActionLink
这样的常规方法。所以我们也需要列出(由斯特恩解决)

解决方案:

  • 确保包含System.Web.Mvc.Html

  • 下面是实例化HtmlHelper的代码

    System.IO.TextWriter writer=new System.IO.StringWriter()

    var html=new-HtmlHelper(新的ViewContext(ControllerContext)、新的WebFormView(ControllerContext,“omg”)、新的ViewDataDictionary()、新的TempDataDictionary()、writer、新的ViewPage()


  • HtmlHelper.ActionLink和您可能正在寻找的大多数方法都是在
    System.Web.Mvc.Html
    命名空间下声明的扩展方法


    至于在控制器内实例化\使用HtmlHelper,这是一种不好的做法,因为用户界面代码与控制器代码明显结合。您想实现什么?

    可能重复“是”,但在控制器中使用System.Web.Mvc.Html在mvc3Add中似乎不起作用。我已添加了错误的屏幕截图感谢System.Web.Mvc.Html命名空间技巧。我需要将HtmlHelper传递给类库来做一些工作。我已经用一个错误截图更新了我的问题。投票被否决,因为它并没有回答如何在controller中获取对HtmlHelper的引用的问题。