1. ホーム
  2. asp.net-mvc

[解決済み] ASP.NET MVC Html.ActionLinkにアンカータグを含める

2022-04-27 11:26:02

質問

ASP.NET MVCで、アンカータグを含むリンクを作成しようとしています(つまり、ユーザーをあるページやそのページの特定のセクションに誘導すること)。

私が作成しようとしているURLは、以下のようなものです。

<a href="/category/subcategory/1#section12">Title for a section on the page</a>

私のルーティングは標準で設定されています。

routes.MapRoute("Default", "{controller}/{action}/{categoryid}"); 

使っているアクションリンクの構文です。

<%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>
<%} %>

私のコントローラメソッドは以下の通りです。

public ActionResult Subcategory(int categoryID)
{
   //return itemList

   return View(itemList);
}

上記は、正しく以下のようなURLを返します。

<a href="/category/subcategory/1">Title for a section on the page</a>

を追加する方法がわかりません。 #section12 の部分です。section"は、ページのセクションを分割するために使用している規則で、12はサブカテゴリのID、つまりchild.IDです。

どうすればいいのでしょうか?

どのように解決するのですか?

私なら、このように手動でリンクを構築すると思います。

<a href="<%=Url.Action("Subcategory", "Category", new { categoryID = parent.ID }) %>#section12">link text</a>