2012-06-21 51 views
1

我有以下網址如何從asp.net MVC4中的動態url獲取參數?

http://localhost/user/MyUserName

如何獲得 「MyUserName輸入」 從該網址是什麼?所以我可以在服務器端使用它來檢索我想要呈現給客戶端的信息?

在Django中,很簡單地將其歸檔。但是,我如何在ASP.net MVC4中做到這一點?

編輯

routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
+0

MyUserName輸入總是最後「參數」 ? –

+0

@Exsaliver沒有那是url的動態部分。它可以是任何東西。但我想要這個參數,所以我可以從數據庫中獲取用戶數據。 – starcorn

回答

3

我不知道你是怎麼命名的路線參數

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new {controller = "Home", action = "Index", id = UrlParameter.Optional}, 
    null, 
    new[] {"Project.Web.Controllers"}); 

但我想這是Id反正試試這個:

var value = RouteData.Values["Id"]; 

更新:

在你的情況,你應該之前定義一種特殊的路由「之上」默認的:url中

routes.MapRoute(
    "ForUser", 
    "User/{id}", 
    new {controller = "User", action = "UserInfo", id = UrlParameter.Optional}, 
    null, 
    new[] {"Project.Web.Controllers"}); 
+0

好的,如果url看起來像這樣'http:// localhost/User/UserInfo/MyUserName',可以得到'MyUserName'。其中'用戶'是控制器,'用戶信息'是動作。但是,我可以得到我想要的參數,而不需要在url中額外的部分? – starcorn

+0

我只是希望它是'http:// localhost/User/MyUserName',但我不想更改路由部分。 – starcorn