私は、顧客情報を収集してデータベースに挿入するWebフォームを作成しています。顧客は3種類の口座を持つことができます:口座(この場所への請求書と船積み)、請求先口座(この場所への請求書のみ)、配送口座(この場所にのみ出荷されます)C#でウィザードコントロールを動的に作成するにはどうすればよいですか?
集められた情報は
私は現在、5つのステップ(各カテゴリに1つ)を持つウィザードを持っていますが、5つのステップ(各カテゴリに1つ)がありますが、たとえば、配送先住所には、一般情報と従業員情報が必要で、必要に応じてオーナー情報が必要です。また、Trade ReferenceやBanking情報がないようにしてください。また、ユーザーは完全に記入する必要がありますtの前に一般的な情報カテゴリを取り出す彼は勘定タイプを決定することができます。
ウィザードの手順全体を無効にする方法はないようです(サイドバーにはリンクが表示されず、移動することはできません)ので、ウィザードを動的に作成して、必要な手順のみを取得します。問題は、現在ウィザードが.aspxページ上の700行以上のコード行であり、動的に作成するとおそらく倍増する(私が運が良ければ)。
スタティックに各ステップを作成してから、ウィザードで使用するステップを動的に決定できますか、まったく動的なのですか?
(またはこれが最も可能性の高いケースです)私が探している結果を得るもっと簡単な解決策がありますか?
マイケル、これは「缶詰め」のウィザードですか?あなた自身で書きましたか?缶詰の場合、データに基づいてステップをオプションとしてマークする方法があるはずです。 –
@ MarkLyon標準のaspウィザードです。私は、ActiveStepChangeイベントで一連の入れ子になったifステートメントを使用してステップをスキップすることができますが、私が知る限り、サイドバーのリンクを選択的に表示する方法はありません。それはそれらのすべてであるか、またはそれらのどれでもありません。 –
Dillie-Oは以下のように述べています。ウィザードは古い技術であり、サーバーコントロールにはあまり愛されていません。ウィザードのステップをスキップできる場合は、その入れ子にされたifステートメントでActiveStepを設定できますか?私はそれがビジネスロジックのための望ましい場所ではないことを知っていますが、あなたがウィザードに悩まされているなら、あなたは何か変わったことをしなければならないかもしれません。したがって、ユーザーがサイドバーの項目をクリックした場合は、適切な手順にスキップしてください。 –