2011-08-10 3 views
2

はここでコントローラのコードのマイMVC3アプリケーションで自分のURLに付加されている:username長= 16

public ActionResult AddFriend(string username) 
{ 
    //Todo: Add functionality to add a friend. 

    //Then redirect to that same profile. 
    return RedirectToAction("Detail", "Profile", username); 
} 

内容stapia.gutierrez、ない16か、そのようなものです。

私はリンクをご覧ください。

http://localhost:9198/profile/friend/add/stapia.gutierrez 

私はGlobal.asaxの中でルートを作成するため、上記のアクションが呼び出されます。

:URLをクリックした後

routes.MapRoute("AddFriend", // Route name 
      "Profile/Friend/Add/{username}", // URL with parameters 
      new { controller = "Profile", action = "AddFriend" } // Parameter defaults 
); 

は次のように示されているが

http://localhost:9198/Profile/stapia.gutierrez?Length=16 

アイデア?

答えて

5

あなたはそのようなルート値を渡す必要があります。

return RedirectToAction("Detail", "Profile", new { username="value" }); 
+0

さて、あなたに感謝します! :)それはそれを修正した。アクションシグネチャの要求としてプレーンストリングの代わりに匿名タイプを渡す必要があるかどうかは分かりませんでした。未来のことを知っておくとよい。再度、感謝します。 –

+0

@jdavies - なぜですか? 'length = 16'はどこから来ますか? – xr280xr