gpt4 book ai didi

具有路由值的 helper 的 C# 扩展方法

转载 作者:行者123 更新时间:2023-12-02 22:22:09 24 4
gpt4 key购买 nike

我正在尝试为带有图像的 ActionLink 助手创建一个扩展方法。

这是我的扩展方法:

public static class MyHelpers
{
public static string ActionLinkWithImage(this HtmlHelper html, string imgSrc, string actionName)
{
var urlHelper = new UrlHelper(html.ViewContext.RequestContext);

string imgUrl = urlHelper.Content(imgSrc);
TagBuilder imgTagBuilder = new TagBuilder("img");
imgTagBuilder.MergeAttribute("src", imgUrl);
string img = imgTagBuilder.ToString(TagRenderMode.SelfClosing);

string url = urlHelper.Action(actionName);

TagBuilder tagBuilder = new TagBuilder("a")
{
InnerHtml = img
};

tagBuilder.MergeAttribute("href", url);

return tagBuilder.ToString(TagRenderMode.Normal);
}
}

我想像这样使用它:

@Html.ActionLinkWithImage("Images/del.png", "Delete", new { id = item.ItemID});

但是我的扩展方法没有“路由值”。我该如何实现?

最佳答案

像这样:

public static string ActionLinkWithImage(this HtmlHelper html, string imgSrc, string actionName, object routeValues)
{

//Your code ...

string url = urlHelper.Action(actionName, routeValues);

}

关于具有路由值的 helper 的 C# 扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563161/

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