2011-07-11 16 views
0

MVC3でこのルートを使い始めたばかりで、私は全く混乱しています。私はこのサイトから必要なものをどうやってやることができるかについていくつかの助言を得ることができれば幸いです。ここに私がしたいことがあります。まず、最も重要なのは、Productコントローラに行くために、これらのリンクがすべて必要です。MVC3ルーティングに関する質問

routes.MapRoute("Route 1", // Route name 
       "product {prodId} code/{action}/{id}", 
       new 
       { 
        controller = "Product", 
        action = "Index", 
        id = UrlParameter.Optional 
       } 
      ); 

しかし、どのように私はそれが別のアクションイベントに移動し、パラメータとしてPRODIDとidを渡すことができます:私は、このような「12」を得ることができるということですすでに学んだ

www.xx.com/product 12 code/   >> Action: Overview, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12 code/Overview >> Action: Overview, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12 code/Results >> Action: Results, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12 code/Product >> Action: Product, 
            >> ProdId=12 passed as a param 
            >> Code="" passed as a param 

www.xx.com/product 12 code/Product/123 >> Action: Index, 
            >> ProdId=12 passed as a param 
            >> Code= 123 passed as a param 

?私はルートシステムが非常に強力だと思うが、私のような新しいユーザーにとっては複雑である。私が必要とすることをするために何本のルートを設定する必要がありますか?

答えて

2
routes.MapRoute("Route 1", // Route name 
       "product {prodId}/{action}/{code}", 
       new 
       { 
        controller = "Product", //default controller=Product 
        action = "Index",   //default action= Index 
        prodId = 12,    //default prodId=12 
        code=UrlParameter.Optional // code is optional 
       } 
      ); 






www.xx.com/product 12/   >> Action: Overview, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12/Overview >> Action: Overview, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12/Results >> Action: Results, 
            >> ProdId=12 passed as a param 

www.xx.com/product 12/Product >> Action: Product, 
            >> ProdId=12 passed as a param 
            >> Code="" passed as a param 

www.xx.com/product 12/Product/123 >> Action: Index, 
            >> ProdId=12 passed as a param 
            >> Code= 123 passed as a param 
+0

本当ですか?私はすでにそれが働いていますか?それが私が理解できる唯一の部分です。私の問題は、私が他のルートを設定する方法です。たぶん誰かがあなたが言っていることを確認することができますか?ありがとう – AnneMarie

+0

私は自分の答えを編集した、私はちょうどあなたがやったやり方のように、ルートのスペースが有効であることを確認しましたが、問題を引き起こす可能性があります。 –

+0

ありがとうPraveen。ごめんなさい。私はあなたのルート情報を理解していません。 prodIdが12のIndexアクションにはすべてが難しいと書かれているようですね。また、ユーザーがアクションを指定していない場合は、デフォルトでOverviewアクションに移動する必要があります。 – AnneMarie