2009-06-04 24 views
0

I次のルートを持っているクラスSegnalazioniControllerの次methonにマップASP.NET MVC URLルーティング

 routes.MapRoute(
      "Segnalazioni_CercaSegnalazioni", 
      "Segnalazioni/CercaSegnalazioni/{flag}", 
      new { controller = "Segnalazioni", action = "CercaSegnalazioni", flag = 7 } 
     ); 

public ActionResult CercaSegnalazioni(int flag) 
    { 
     ViewData["collezioneSegnalazioni"] = Models.Segnalazioni.Recupera(flag); 
     System.Xml.Linq.XElement x = (System.Xml.Linq.XElement)ViewData["collezioneSegnalazioni"]; 
     return View("Index"); 
    } 

がどのように来ますリンクhttp://localhost:1387/Segnalazioni/CercaSegnalazioni/1私にエラーが表示されます

The parameters dictionary contains a null entry for parameter 'flag' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult CercaSegnalazioni(Int32)' in 'RecuperoPagatiMvc.Controllers.SegnalazioniController'. To make a parameter optional its type should be either a reference type or a Nullable type. 
Nome parametro: parameters 
+0

あなたはそのルートに当たっていないように私に聞こえます。あなたのルートテーブルの上に投稿されたルートを移動する場合、それは動作しますか? –

答えて

1

あなたのすべてのルートを投稿してください。あなたのURLがこれとは別のルートで処理されているようです。あなたのルートを列挙する順序は重要であることを覚えておいてください。したがって、このURLがマップできる場所の前に別のルートがある場合は、そのURLがマップされます。

0

MvcContribにはルートデバッガが含まれています。それを使用すると、このURLにどのルートが呼び出されているかがわかります。 Hereはいくつかの手順で有効にする方法です

関連する問題