0

私は MVC 3 開発が初めてなので、現在取り組んでいる開発タスクへの最善のアプローチについてアドバイスが必要です。

私は現在、さまざまなプログラムの支払いのための支払いフォーム アプリケーションを開発しています。最終的には、妥当な数のプログラムが含まれ、ほとんどのプログラムには、少なくとも 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 }
                    );
            }

programme.Code は、ループが実行されるたびにルート名が一意であることを保証し、データベースから特定の URL を取得しています。

于 2012-10-12T09:44:23.550 に答える