首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC3 - Razor:如何在ActionLink名称中使用html标签

MVC3 - Razor:如何在ActionLink名称中使用html标签
EN

Stack Overflow用户
提问于 2012-06-15 18:29:28
回答 2查看 2.8K关注 0票数 1

我的MVC3剃刀视图上有一个动作链接。它们有一个如下的动作链接:

代码语言:javascript
复制
@Html.ActionLink("Click Here (I do not have Middle Name)", 
                 "", "", new { @class = "button lines-6" })

我要将操作链接文本更改为:

<strong>Click Here </strong> (I do not have Middle Name)

有没有办法解决这个问题。

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-15 18:34:02

使用URL.Action而不是操作链接,您可以更好地控制内容。

代码语言:javascript
复制
<a href="@Url.Action("Index", "Home")" class="button lines-6">
    <strong>Click Here </strong> (I do not have Middle Name)
</a>
票数 6
EN

Stack Overflow用户

发布于 2012-06-15 19:04:51

自定义HtmlHelper扩展是另一种选择。

代码语言:javascript
复制
public static string ActionLinkSpan( this HtmlHelper helper, string linkText, string actionName, string controllerName, object htmlAttributes )
{
    TagBuilder spanBuilder = new TagBuilder( "span" );
    spanBuilder.InnerHtml = linkText;

    return BuildNestedAnchor( spanBuilder.ToString(), string.Format( "/{0}/{1}", controllerName, actionName ), htmlAttributes );
}

private static string BuildNestedAnchor( string innerHtml, string url, object htmlAttributes )
{
    TagBuilder anchorBuilder = new TagBuilder( "a" );
    anchorBuilder.Attributes.Add( "href", url );
    anchorBuilder.MergeAttributes( new ParameterDictionary( htmlAttributes ) );
    anchorBuilder.InnerHtml = innerHtml;

    return anchorBuilder.ToString();
}

您也可以尝试上述建议选项的不同风格:

代码语言:javascript
复制
<li id="home_nav"><a href="<%= Url.Action("ActionName") %>"><span>Span text</span></a></li>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11048977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档