首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >把超文本标记语言放在Html.ActionLink()里面,加上没有链接的文本?

把超文本标记语言放在Html.ActionLink()里面,加上没有链接的文本?
EN

Stack Overflow用户
提问于 2009-12-29 22:44:45
回答 12查看 177.3K关注 0票数 175

我有两个问题:

  1. 我想知道当我在MVC视图中使用Html.ActionLink() (实际上,这是Site.Master)时,我如何才能不显示链接文本。

没有不允许链接文本的重载版本,当我尝试只传入一个空string时,编译器告诉我它需要一个非空字符串。

我该如何解决这个问题呢?

  1. 我需要把<span>标签放在锚标签里,但是它不能和Html.ActionLink();一起工作。我希望看到以下输出:

Span text

在ASP.NET MVC中,如何将标签放在锚标签中?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-12-29 22:49:32

您可以通过Url.Action呈现url,而不是使用Html.ActionLink

<a href="<%= Url.Action("Index", "Home") %>"><span>Text</span></a>
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>

要做一个空白的url,你可以使用

<a href="<%= Url.Action("Index", "Home") %>"></a>
<a href="@Url.Action("Index", "Home")"></a>
票数 338
EN

Stack Overflow用户

发布于 2009-12-29 23:04:15

自定义HtmlHelper扩展是另一种选择。注意::ParameterDictionary是我自己的类型。您可以替换一个RouteValueDictionary,但您必须以不同的方式构造它。

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();
}
票数 16
EN

Stack Overflow用户

发布于 2012-06-06 19:38:54

如果你需要使用ajax或者一些你在手动(使用标签)创建链接时不能使用的特性,下面是(低级的和肮脏的)解决方法:

<%= Html.ActionLink("LinkTextToken", "ActionName", "ControllerName").ToHtmlString().Replace("LinkTextToken", "Refresh <span class='large sprite refresh'></span>")%>

您可以使用任何文本而不是“LinkTextToken”,它只在那里被替换,唯一重要的是它不会出现在actionlink中的任何其他地方。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1974980

复制
相关文章

相似问题

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