我有 ASP.NET MVC3 项目,我正在编写一些返回 HTML 的扩展方法,但我需要 UrlHelper 来呈现它们。为此,我正在扩展 UrlHelper,但我不喜欢语义,因为 UrlHelper 应该使用 URL,而 HtmlHelper 应该使用 HTML。我想用这种方法而不是 UrlHelper 来扩展 HtmlHelper。
我的问题是我现在不知道如何从 HtmlHelper 的扩展方法访问 UrlHelper,这可能吗?或者我必须坚持使用 UrlHelper 扩展。
我知道我可以发送 Url 助手作为参数,但我不太喜欢这个解决方案。
以下代码是我正在谈论的扩展方法的示例:
public static HtmlString AnchorLink(this UrlHelper url, string text, string action, string anchor) {
return new HtmlString(string.Format("<a href=\"{0}#{2}\">{1}</a>", url.Action(action), text, anchor));
}
谢谢