我遇到了两个创建自定义html帮助程序的建议:扩展现有的帮助程序,或编写自己的类.
我宁愿保持我的自定义代码分离,为一个体面的应用程序扩展帮助程序似乎有点草率.
但是我在扩展中看到的好处是’This HtmlHelper helper’作为参数传递,通过它我可以获得ViewContext.HtmlContext.
我的问题是,如何滚动自己的助手类并仍然可以使用ViewContext.HtmlContext?
谢谢!
编辑:
我想要做的是创建“MyHelperClass”,它将一些自定义对象呈现为html.我没有看到需要“扩展”一个Html助手,因为我没有使用它提供给我的任何东西.我现在必须扩展htmlhelper的唯一原因是访问httpcontext,如您所示.但我的问题是,如何在我自己的类中访问httpcontext,而无需扩展现有的帮助器.谢谢
解决方法
public static class HtmlHelperExtensions { public static HttpContextBase GetContext(this HtmlHelper htmlHelper) { return htmlHelper.ViewContext.HttpContext; } }