gpt4 book ai didi

asp.net-mvc - 如何从 HtmlHelper 类调用 Url.Action?

转载 作者:行者123 更新时间:2023-12-02 05:54:21 26 4
gpt4 key购买 nike

我用过

Url.Action("actionFoo", "controllerBar")

在我的 View (aspx) 中。但现在我正在将我的一些标记重构为我创建的 HtmlHelper。

问题是我似乎没有包含正确的命名空间,或者 View 有一些我不知道的默认对象引用。重点是编译器找不到 Url.Action。

为了简单起见,这就是我正在尝试做的...

public static MvcHtmlString RenderActionButtons(this HtmlHelper helper, string actionName, string controllerName)
{
TagBuilder customActionButtonTagBuilder = new TagBuilder("a");
customActionButtonTagBuilder.Attributes.Add(new KeyValuePair<string, string>("href", Url.Action(actionName, controllerName)));
customActionButtonTagBuilder.InnerHtml = "foo";
customActionButtonTagBuilder.AddCssClass("custom-action-button");

return MvcHtmlString.Create(customActionButtonTagBuilder.ToString(TagRenderMode.Normal));
}

如何将我的代码指向 Url.Action 的正确用法?

最佳答案

解决方案... Url 是 UrlHelper 的一部分。如果您有 HtmlHelper,您可以获得 UrlHelper 的实例,如下所示...

new UrlHelper(helper.ViewContext.RequestContext)

这是公开 url.Action 的对象

关于asp.net-mvc - 如何从 HtmlHelper 类调用 Url.Action?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4271994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com