我有这个Html代码:
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Espace propriétaire du terrain <span class="caret"></span></a>
我想使用html帮助程序而不是使用a
标记
@Html.ActionLink("Espace propriétaire du terrain ", "About", "Home", null, new { @class = "dropdown", data_toggle = "dropdown", role = "button", aria_expanded = "false" })<span class="caret"></span>
问题是span
标记在a
标记之外,即在第一个代码中,我将两个标记内联,但在第二个代码中,它是垂直放置的。
那么,如何更改我的代码以使用Html.ActionLink
替换另一个html代码?
答案 0 :(得分:2)
您可以通过锚点标记的Html.ActionLink
属性中的Url.Action
呈现网址,而不是使用href
,因为您无法在ActionLink
内嵌入任何HTML。
<a href="@Url.Action("About", "Home")" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Espace propriétaire du terrain <span class="caret"></span></a>
答案 1 :(得分:1)
创建自定义扩展方法,使其按照您希望的方式运行。
参考:http://blog.syntaxc4.net/post/2010/10/09/How-To-Create-Custom-MVC-Extension-Methods.aspx
示例:强>
public static MvcHtmlString CustomActionLink(this HtmlHelper htmlHelper, string linkText, string area, string controller, string tabMenu, string action, RouteValueDictionary routeValues, IDictionary<string, object> htmlAttributes)
{
routeValues.Add("area", area);
routeValues.Add("tabMenu", tabMenu);
return htmlHelper.ActionLink(linkText, actionName, controllerName, routeValues, htmlAttributes);
}
Code Src:Create a custom ActionLink
答案 2 :(得分:0)
本身不可能。 ActionLink
将始终对给定文本进行编码,因此您无法在链接描述中添加范围。把它放在后面是不一样的。
您可以使用CSS规则使标记在这种情况下的行为类似于span标记。