私は最近、動的に読み込まれた ASP.NET コントロールを EAV スキーマと組み合わせて使用し、データ モデルの可変性を処理する単純な動的フォーム エンジンを実装しました。ビジネスはしばらくの間、最終製品に十分に満足していましたが、現在はより複雑な動的フォームを求めています。
- フィールドの可視性は、他のフォーム フィールドの値に関連付けられています
- 他のフォームフィールドの状態に関連付けられたドロップダウン可能な値のリスト
- フォーム全体でのさまざまなビジネス ルールの適用: つまり、FieldA の値は、FieldX が null でないと仮定して、FieldX + 30 日を超えてはなりません。
- その他の複雑な分野間の依存関係とビジネス ルール
ご想像のとおり、このようなエンジンをゼロから作成するのは面倒で時間がかかり、コア ビジネスの一部ではないため、既製のソリューションを探しています。理想的には、すべての層 (ビジネス ロジック、プレゼンテーション層、永続性) を含む完全な ASP.NET フレームワーク (MVC または WebForms) が必要です。ただし、物乞いは選択者になることはできないので、ビジネス ルールの定義と評価のみを扱うフレームワークで間に合わせます。さらに、クライアント側のプラグインへの依存を禁止する厳格なポリシーに縛られているため、厳密にサーバー側のソリューションを探しています。
XForms は完璧に適合するように思えますが、私が見つけた唯一の成熟した実装は、Java (Orbeon) または Django (Chiba) に基づいています。私が見つけた他の XForms 実装は、クライアント側のプラグインに何らかの依存関係を持っています。
Orbeon を ASP.NET アプリケーションと統合する方法が見つかれば、Orbeon を使用しても構いませんが、そのようなハイブリッド実装の実際の例は見たことがありません。
Microsoft Office InfoPath を簡単に調べてみましたが、実装する必要のある複雑なシナリオを処理するのに十分なほど堅牢ではないようです。
すべてのアイデアを歓迎します!