点滴蓄積【ASP.NET】---textboxユーザーコントロールをascxページで定義!異なるaspxページ呼び出し時に動的に検証

4990 ワード

異なるページでユーザーコントロールtextboxの動的検証を呼び出すには、次の手順に従います.
ascxページでtextboxコントロールを定義します.異なるaspxページ呼び出し時に、空でないことを検証する必要がある場合もあれば、空でないことを検証する必要がない場合もあります.
実現構想:1.ascxユーザーコントロールページで、空でない検証コントロール(RequiredFieldValidator)を配置し、有効状態をEnabled=falseに設定.コントロールを有効にしないことです.このユーザーコントロールにプロパティをカスタマイズします.属性名、タイプはカスタマイズできます.
1 private string isValidation;

2         public string IsValidation

3         {

4             get { return isValidation; }

5             set { isValidation = value; }

6         }

2.aspxページでこの属性に値を割り当てます.
1 <td class="ccms_td_right" colspan="5">

2                 <uc1:ComboGrid1 ID="cgDetectionUnitName" runat="server" EnableViewState="false" isValidation="        " EnabledAction="(12.*)" Class="ccms_textbox" />

3                 <input id="hiDetectionUnitName" runat="server" field="DetectionUnitName" tablename="TesterRecord"

4                     type="hidden" />

5             </td>

 
3.ascxページでその属性の値を取得し、その属性の値を判断する.に表示されます.
 1 protected void Page_Load(object sender, EventArgs e)

 2         {

 3             if (!IsPostBack)

 4             {

 5                 if (isValidation != null)

 6                 {

 7                     rfvTB1.Enabled = true;

 8                     rfvTB1.ErrorMessage = isValidation;

 9                 }

10 

11             }

12         }

ここで、私がカスタマイズしたプロパティはIsValidation、stringタイプです.空でない検証が必要な場合は、このプロパティに値を割り当てます.割り当てられた値は、コントロールが空の場合のプロンプトです.検証が必要ない場合は、このプロパティを管理する必要はありません.