ASP.net MVC 3将任意文本添加到ActionLink的末尾

时间:2011-02-14 23:05:55

标签: asp.net asp.net-mvc-3 actionlink

您好我对Html.ActionLink有疑问。

想象:

@Html.ActionLink(item.title, "Singlet", new { id = item.blog_id })

生成http:// [url] / [controller] / Singlet / [id]

但是如果我想在最后添加一些更随意的数据呢?例如:

的http:// [URL] / [控制器] /背心/ [ID] /#评论

跳转到评论div。我知道我可以用以下内容制作字符串:

@( new HtmlString(String.Format("<a href=\"Blog/Singlet/{0}/#comments\">link to comments</a>", item.blog_id)) )

但我希望有一种更清洁的方式,也许是使用ActionLink?

由于

3 个答案:

答案 0 :(得分:7)

也许这样的事情可能有用:

@Html.ActionLink(
    item.title, 
    "Singlet", 
    "Blog", 
    Request.Url.Scheme, 
    null, 
    "comments", 
    new { id = item.blog_id }, 
    null
)

答案 1 :(得分:1)

您可以这样做:

<a href="@Url.Action("Singlet", new { id = item.blog_id })#comments">@item.title</a>

答案 2 :(得分:0)

看看这个答案,看看它是否有帮助:

Create a T4MVC ActionLink with url fragment

看起来这个功能是在ASP.NET MVC 2中添加的,所以它也应该在3中可用。以下是ActionLink方法的文档:

http://msdn.microsoft.com/en-us/library/dd460522.aspx

具体来说,看起来fragment参数是您感兴趣的参数。