gpt4 book ai didi

image - Action 图像 MVC3 Razor

转载 作者:行者123 更新时间:2023-12-03 04:36:46 25 4
gpt4 key购买 nike

在 MVC3 中使用 Razor 用图像替换链接的最佳方法是什么?我现在只是这样做:

<a href="@Url.Action("Edit", new { id=MyId })"><img src="../../Content/Images/Image.bmp", alt="Edit" /></a> 

有更好的方法吗?

最佳答案

您可以为 HtmlHelper 创建扩展方法来简化 CSHTML 文件中的代码。您可以使用如下方法替换标签:

// Sample usage in CSHTML
@Html.ActionImage("Edit", new { id = MyId }, "~/Content/Images/Image.bmp", "Edit")

以下是上述代码的示例扩展方法:

// Extension method
public static MvcHtmlString ActionImage(this HtmlHelper html, string action, object routeValues, string imagePath, string alt)
{
var url = new UrlHelper(html.ViewContext.RequestContext);

// build the <img> tag
var imgBuilder = new TagBuilder("img");
imgBuilder.MergeAttribute("src", url.Content(imagePath));
imgBuilder.MergeAttribute("alt", alt);
string imgHtml = imgBuilder.ToString(TagRenderMode.SelfClosing);

// build the <a> tag
var anchorBuilder = new TagBuilder("a");
anchorBuilder.MergeAttribute("href", url.Action(action, routeValues));
anchorBuilder.InnerHtml = imgHtml; // include the <img> tag inside
string anchorHtml = anchorBuilder.ToString(TagRenderMode.Normal);

return MvcHtmlString.Create(anchorHtml);
}

关于image - Action 图像 MVC3 Razor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896439/

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