0

由于我是 MVC 3 开发的新手,因此我需要一些关于我目前正在处理的开发任务的最佳方法的建议。

我目前正在开发一个支付各种项目的支付表格应用程序,最终这将包括合理数量的项目,其中大多数至少有三种支付方式(全额支付、押金和余款 - 有些还包括折扣和一些只能全额支付)。

我需要决定一种最佳方法来实现基于路由的策略,该策略将允许用户为他们想要支付的程序输入特定的 URL,基本上所有程序都需要输入相同的信息,唯一的区别是成本每个程序的日期和程序运行的日期。

我正在尝试决定是否最好为每个程序有多个视图,然后为每个单独的程序输入路线(我目前有 30 多个程序,其中包括完整的、存款和剩余的以及一些折扣 - 这很可能增加)或者是否可以使用路由在单个视图中为每个程序生成特定信息,这样我就不必为 30 多个视图和控制器复制基本相同的代码。

4

2 回答 2

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)
{
    // ...
}
于 2012-10-11T20:48:46.990 回答
0

感谢您的回复,前几天我把路由放在了一个 foreach 循环中,它会即时生成 URL,我使用的路由是这样的:

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

program.Code 确保每次运行循环时路由名称都是唯一的,我从数据库中获取特定的 URL

于 2012-10-12T09:44:23.550 回答