首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ASP.NET MVC Html.ActionLink中包含锚标记

在ASP.NET MVC Html.ActionLink中包含锚标记
EN

Stack Overflow用户
提问于 2008-11-08 10:10:20
回答 7查看 146.2K关注 0票数 154

在ASP.NET MVC中,我尝试创建一个包含锚标记的链接(即,将用户定向到页面和页面的特定部分)。

我尝试创建的URL应该如下所示:

代码语言:javascript
复制
<a href="/category/subcategory/1#section12">Title for a section on the page</a>

我的路由是按照以下标准设置的:

代码语言:javascript
复制
routes.MapRoute("Default", "{controller}/{action}/{categoryid}"); 

我使用的操作链接语法是:

代码语言:javascript
复制
<%foreach (Category parent in ViewData.Model) { %>
<h3><%=parent.Name %></h3>
<ul>
<%foreach (Category child in parent.SubCategories) { %>
    <li><%=Html.ActionLink<CategoryController>(x => x.Subcategory(parent.ID), child.Name) %></li>
<%} %>
</ul>
<%} %>

我的控制器方法如下:

代码语言:javascript
复制
public ActionResult Subcategory(int categoryID)
{
   //return itemList

   return View(itemList);
}

上面正确返回一个URL,如下所示:

代码语言:javascript
复制
<a href="/category/subcategory/1">Title for a section on the page</a>

我不知道如何添加#section12部件。“部分”这个词只是我用来分隔页面部分的约定,12是子类别的ID,即child.ID。

我该怎么做呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-11-08 11:31:00

我可能会手动构建链接,如下所示:

代码语言:javascript
复制
<a href="<%=Url.Action("Subcategory", "Category", new { categoryID = parent.ID }) %>#section12">link text</a>
票数 100
EN

Stack Overflow用户

发布于 2008-11-09 01:53:44

存在采用片段参数的ActionLink重载。将"section12“作为您的片段传递会得到您想要的行为。

例如,调用LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, String, String, String, Object, Object)

代码语言:javascript
复制
<%= Html.ActionLink("Link Text", "Action", "Controller", null, null, "section12-the-anchor", new { categoryid = "blah"}, null) %>
票数 285
EN

Stack Overflow用户

发布于 2014-09-29 02:52:33

我不记得在哪个版本的ASP.NET MVC (我相信是ASP.NET MVC 3+ )/ Razor中引入了参数标签声明或其他什么(参数: x)特性,但对我来说,这绝对是在ASP.NET MVC中使用锚点建立链接的正确方式。

代码语言:javascript
复制
@Html.ActionLink("Some link text", "MyAction", "MyController", protocol: null, hostName: null, fragment: "MyAnchor", routeValues: null, htmlAttributes: null)

即使是来自this answer的Ed Blackburns反模式论点也无法与之竞争。

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

https://stackoverflow.com/questions/274586

复制
相关文章

相似问题

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