2

ユーザーの連絡先情報を収集するオンライン フォームがあります。典型的なもの - 姓名、住所、都市、都道府県、郵便番号など

プロセスのある時点で、他の人の情報も入力できます。その時点で、この他の人物とまったく同じフィールドを持つモーダル ポップアップを表示します。

ASCX ファイルでフィールドの繰り返しが嫌いです。フィールドの単一ブロックを定義し、それらをさまざまなコンテキストで表示したいと思います。

プロットのひねりは、サイトの管理者が 2 つのコンテキストのそれぞれでどのフィールドを表示するかを構成できることです。

たとえば、主要なユーザーには電話番号を尋ねたいが、追加のユーザーにはそのフィールドを表示したくないと言うかもしれません。その場合、電話番号フィールドはメイン フォームでは表示されますが、モーダル ポップアップでは非表示になります。

問題は、ASP.NET フォームの別の場所で同じフィールドを再利用する最善の方法は何かということです。

4

2 に答える 2

0

管理者が各フィールドの可視性を設定したい場合は、フィールド リストをデータベース テーブルfieldName, userType1 (bit), userType2 (bit),...に追加してから値を追加する方がよいと思います0 or 1(管理者はインターフェイス経由でこれを行うことができます)。

コントロールをロードすると、userType をデータベース (ストアド プロシージャまたはクエリ) に渡して対応する値を取得し、それに応じて各フィールドの可視性を設定します。

于 2013-03-19T14:21:11.253 に答える
0

ユーザーコントロールに別のフラグを追加できます

注 : このフラグはパブリック プロパティとして宣言する必要があります。

public bool Flag 
{
  get;
  set;
}

あなたのユーザーコントロール

最初のインスタンス:<UCTagPrefix:UCTagName runat="server" id="" Flag="true"/>

2 番目のインスタンス:<UCTagPrefix:UCTagName runat="server" id="" Flag="false"/>

必要に応じて別のタイプを使用できます。このサンプルはブール値に基づいています

コードビハインドで、フラグの値を使用してユーザーコントロールの動作を調整します

于 2013-03-19T14:14:08.697 に答える