2016-09-05 20 views
1

クライアント側のURLからパラメータ値を取得する方法は?ASP.NET MVC - ビュー内のURLからパラメータ値を取得

URL:

localhost:18652/category/1 

MapRoute:私はIDを取得するにはどうすればよい

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

私はこのURLテスト
+1

を呼び出すことによって、それを使用することができ、パラメータ – derloopkat

+0

としてIDを取る方法ResultsByCategoryを作成私はこの方法を持っています。私は私の見解でID値を取得したい。 – akcza

+1

いくつかのオプションがあります。あなたが何をしたいかに応じて、モデルに渡したり(ResultsByCategoryでビューを返すときにモデルを渡すことができます)、ViewBag、ViewData、またはTempDataを使用します。 – derloopkat

答えて

5

:ビューで

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

を私はこれを持っている:

getID

あなたは例のビューでこのコードでIDを取得することができます:

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

で一般的な場合、このコードを使用することができます:

@{ 
    var id = Request.Url.Segments.Last(); 
} 
4

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

derloopkatはあなたのビューでは、あなたのホームコントローラー

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

を示唆したように、あなたは、コントローラのホームに

@ViewBag.id 
関連する問題