如何在 ASP.NET MVC 2.0 中的视图之外创建 HtmlHelper?

2024-05-13

我们正在将 ASP.NET MVC 1.0 应用程序升级到 2.0 版本,部分代码需要使用 LinkExtensions,而 LinkExtensions 需要 HtmlHelper 才能呈现。虽然我们知道某些代码没有正确遵循 MVC 模型,并且正在根据需要重新编码,但我们需要一些东西来工作,以便构建应用程序。

以下是我们在 ASP.NET MVC 1.0 下使用的当前语法:

public static HtmlHelper GetHtmlHelper(ControllerContext context)
{
    return new HtmlHelper(new ViewContext(context,
                                          new WebFormView("HtmlHelperView"),
                                          new ViewDataDictionary(),
                                          new TempDataDictionary()),
                          new ViewPage());
}

我们得到的错误如下:

错误 1“System.Web.Mvc.ViewContext”不包含采用 4 个参数的构造函数


有一个采用 TextWriter 的附加参数 http://msdn.microsoft.com/en-us/library/ee839461.aspx:

var viewContext = new ViewContext(
    context,
    new WebFormView("HtmlHelperView"),
    new ViewDataDictionary(),
    new TempDataDictionary(),
    context.HttpContext.Response.Output
);

这里的问题是为什么你需要实例化一个htmlHelper你自己而不是使用视图中提供的那个?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ASP.NET MVC 2.0 中的视图之外创建 HtmlHelper? 的相关文章

随机推荐