web-dev-qa-db-ja.com

ASP.NET Core MVCでASPタグヘルパーにリンクパラメーターを追加する方法

ASP.NET MVC 1-5で多くの経験があります。今、私はASP.NET Core MVCを学び、ページ内のリンクにパラメーターを渡す必要があります。たとえば、次のようなものがありますAction

 [HttpGet]
 public ActionResult GetProduct(string id)
 {
      ViewBag.CaseId = id;
      return View();
 }

タグヘルパーを使用してこのアクションのリンクを実装するにはどうすればよいですか?

<a asp-controller="Product" asp-action="GetProduct">ProductName</a>
73
Elvin Mammadov

属性プレフィックスasp-route-を使用して、ルート変数名にプレフィックスを付けることができます。

例:

<a asp-controller="Product" asp-action="GetProduct" asp-route-id="10"> ProductName</a>
146
Alex

次の構文を適用できます。

<a asp-controller="Member"
   asp-action="Edit"
   asp-route-level="3"
   asp-route-type="full"
   asp-route-id="12">Click me</a>

これにより、このような呼び出しルートが生成されます。

/メンバー/編集/ 3/full/12

次に、次のようにメソッドで受信できます。

[Route({level}/{type}/{id})]
public IActionResult Edit(int level, string type, int id) { ... }

メソッドを修飾する属性はMVCでは必要ありませんが、リンクの属性をメソッドで渡されたパラメーターにバインドする方法をより明確に示しています。

5