2012-10-10 24 views
0

因爲我是MVC 3開發人員的新手,所以我需要一些關於我目前正在開發的開發任務的最佳方法的建議。在MVC 3應用程序中生成路由特定視圖

我目前正在開發支付各種計劃的支付表格應用程序,最終這將包括合理數量的程序,其中大部分程序至少有三種方式可以支付(全額支付,存款和餘額 - 有些還包括折扣和少數只能全額支付)。

我需要決定一種實現基於路線的策略的最佳方法,該策略允許用戶輸入他們希望支付的程序的特定URL,基本上所有程序都需要輸入相同的信息差異是每個程序的成本以及程序運行的日期。

我想要決定是否最好爲每個程序設置多個視圖,然後爲每個單獨的程序輸入路線(我目前有30多個程序,其中包括完整,存款和餘額以及一些折扣) - 這可能會增加),或者如果可以使用路由爲單個視圖中的每個程序生成特定信息,以便我不必爲30多個視圖和控制器複製基本相同的代碼。

回答

0

感謝我的工作了那天的答覆我已經把路線在foreach循環產生的飛我已經使用了路由的網址是:

foreach (var programme in programmes) 
      { 
       routes.MapRoute("ProgrammeArea" + " " + programme.Code, 
           programme.Url + "/{action}/{id}", 
           new { controller = "PaymentDetails", action = "Index", id = programme.Id } 
        ); 
      } 

的programme.Code確保了每一次的循環運行路線名稱是uniqu e,我正在從數據庫中獲取特定的網址

0

如果我明白你想要做什麼,那麼它應該很簡單。

routes.MapRoute(
    name: "Programmes", 
    url: "{controller}/{action}/{programme}/{payment}", 
    defaults: new 
    { 
     controller = "Programme", 
     action = "Index", 
     programme = "SomeDefault", 
     payment = "full" 
    } 
); 

這應該允許您在操作方法需要在ProgrammeController的所有變化:

public ActionResult Index(string programme, string payment) 
{ 
    // ... 
} 
相關問題