2013-07-17 25 views

回答

8

不排除保持簡單:

public ActionResult Action(int id) 
{ 
    return View(id); 
} 

指出,我們正在處理

@model int 

,並通過參考值的強類型的方式模型的類型:

@Model 
13

您可以使用RequestContext的

@{ 
var id = HttpContext.Current.Request.RequestContext.RouteData.Values["id"]; 
} 
77

嘗試使用下面的代碼來找到

在剃刀

@{ 
    var id = ViewContext.RouteData.Values["id"]; 
} 

在Web窗體:

<% 
    var id = ViewContext.RouteData.Values["id"]; 
%> 
+0

返回對象,如何轉換爲DIFF類型? –

+1

@Nigel'int id = ViewContext.RouteData.Values [「id」] as int;' – Sinjai

+0

糟糕,我們正在處理一個ValueType。 '詮釋? id = ViewContext.RouteData.Values [「id」] as int?;'將其轉換爲[可空數字](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/nullable-types /)AKA'int?',然後檢查它是否爲空。 – Sinjai

4

對於那些經驗較少的人,您可以訪問URL的控制器和動作部分。 (剃刀實施例)

if(ViewContext.RouteData.Values["action"].ToString() == "Account") 
{ 
    @Html.Raw("Hi ") @Session["UserName"] 
} 

context.MapRoute(
      name: "MyRoute", 
      url: "{controller}/{action}/{id}" 
}