2010-12-30 19 views
0

I何をここでwebsite.com/sea/season/23/teamMVCのルーティングの問題 - URL世代

のように見えるURLを作成するにはHtml.ActionLinkがどのように見えるMapRoute

routes.MapRoute(
    "SeaTeam", 
    "sea/season/{seasonId}/team/{action}/{name}", 
    new { controller = "Team", action = "Index", name = UrlParameter.Optional } 
); 

です

@Html.ActionLink("Add Team", "Index", "SeaTeam", new { seasonId = seasons.id }, null) 

しかし、その次のURL

<a href="/SeaTeam?seasonId=1">Add Team</a> 
を生成します

洞察?おかげで...

更新

ここでコントローラ

public class TeamController : Controller 
{ 
    // 
    // GET: /Team/ 

    public ActionResult Index() 
    { 
     //get the seasons of the loged user 
     var loadedTeam = tempFunctions.getSeasonsOf(CustomHelper.UserGuid(User.Identity.Name)); 
     return View("Team/ManageTeam", loadedTeam); 
    } 
+0

が表示されていない

@Html.ActionLink( "Add Team", // linkText "Index", // Action "Team", // Controller new { seasonId = seasons.id }, null) 

※上記本です* *すべての*経路マッピングをキャッチしますか? – TheCloudlessSky

+1

あなたが投稿したルートの上にあるルートが最初にマッチしている可能性があります。ルート宣言の順序は非常に重要です。 – Buildstarted

答えて

1

試みている:私はSeaTeamコントローラー

+1

@Hunterが彼の答えで指摘したように、 'SeaTeam'はルートの名前であり、**コントローラではありません。あなたのリンクでルートの名前を使いたいなら、 'RouteLink'はあなたの友人です。 http://msdn.microsoft.com/en-us/library/dd493103(v=vs.98).aspx –

+0

コントローラ名はTeamControllerです。私はあなたに提案されたコードを使用しますが、gererated htmlはAdd Teamです。 私はRouteLinkを使用しようとしますが、私は数分で生成されたHTMLを投稿します。あなたのコントローラと、あなたのルートのすべてと一緒に呼び出ししようとしている方法を投稿してくださいおかげ – roncansan

+0

は...何かが怪しい – hunter

関連する問題