web-dev-qa-db-ja.com

ASP.NETMVC-ビューのURLからパラメーター値を取得します

クライアント側のURLからパラメータ値を取得するにはどうすればよいですか?

URL:

localhost:18652/category/1

MapRoute:

 routes.MapRoute(
     name: "ResultsByCategory",
     url: "category/{id}",
     defaults: new { controller = "Home", action = "ResultsByCategory"}
 );

IDを取得するにはどうすればよいですか?

2
akcza

私はこのURLをテストしました:

http://localhost:1865/category/Index/1

ビューで私はこれを持っています:

getID

サンプルビューでは、次のコードでIDを取得できます。

@{
    var id = Request.Url.Segments[3];
}

通常、次のコードを使用できます。

@{
    var id = Request.Url.Segments.Last();
}
6
Ali Soltani

あなたのビューは常にあなたのコントローラーからロードされるので、URLから直接取得することのポイントを理解していませんでした。

Derloopkatが示唆したように

あなたのホームコントローラーで

Public ActionResult ResultsByCategory (int id)
{
  ViewBag.id = id;
  return View();
} 

あなたの見解では、あなたはそれを呼び出すことによってそれを使うことができます

@ViewBag.id
7
Ravi A.

このコードはあなたのコードに適しています

string id = Request.Path.Value.Split('/').LastOrDefault();
0