我在干净的 HTML 中有这个链接。我想把它变成一个 MVC ActionLink。但这怎么可能。我无法理解,似乎没有简单的方法。或者?
<li class="active"><a href="#"><i class="icon-home icon-large"></i> Dashboard</a></li>
有任何想法吗?
我在干净的 HTML 中有这个链接。我想把它变成一个 MVC ActionLink。但这怎么可能。我无法理解,似乎没有简单的方法。或者?
<li class="active"><a href="#"><i class="icon-home icon-large"></i> Dashboard</a></li>
有任何想法吗?
你有几个选项可以做到这一点。
选项1:
<li class="active"><a href="@Url.Action("YourAction", "YourController")"><i class="icon-home icon-large"></i> Dashboard</a></li>
选项 2:
为 HtmlHelper 编写自己的扩展方法,该方法接受 String/MvcHtmlString 并将其放入链接标记中,无需 html 对其进行编码。
public static MvcHtmlString SpecialActionLink(this HtmlHelper html, String action, String controller, String innerHtml) {
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", new UrlHelper(html.ViewContext.RequestContext).Action(action, controller));
tag.InnerHtml = innerHtml;
return new MvcHtmlString(tag.ToString(TagRenderMode.Normal));
}
(尚未对其进行测试,但应该让您了解如何操作。)
<li class="active">
@Html.ActionLink("Dashboard", //Title
"Index", // Action
"Home", // Controller
new { @class = "home-icon"} // htmlAttributes
)
</li>
.home-icon{ /*Some CSS to set the background image (not tested) */
padding:16px;
background:transparent url('path-to-image.png') .... ;
}
您不能使用 ActionLink。唯一的方法是@url.action
<a href="@Url.Action("View","Article",new {area="",id=id})"><span>This is a test</span></a>