点滴蓄積【ASP.NET】---textboxユーザーコントロールをascxページで定義!異なるaspxページ呼び出し時に動的に検証
4990 ワード
異なるページでユーザーコントロールtextboxの動的検証を呼び出すには、次の手順に従います.
ascxページでtextboxコントロールを定義します.異なるaspxページ呼び出し時に、空でないことを検証する必要がある場合もあれば、空でないことを検証する必要がない場合もあります.
実現構想:1.ascxユーザーコントロールページで、空でない検証コントロール(RequiredFieldValidator)を配置し、有効状態をEnabled=falseに設定.コントロールを有効にしないことです.このユーザーコントロールにプロパティをカスタマイズします.属性名、タイプはカスタマイズできます.
2.aspxページでこの属性に値を割り当てます.
3.ascxページでその属性の値を取得し、その属性の値を判断する.に表示されます.
ここで、私がカスタマイズしたプロパティはIsValidation、stringタイプです.空でない検証が必要な場合は、このプロパティに値を割り当てます.割り当てられた値は、コントロールが空の場合のプロンプトです.検証が必要ない場合は、このプロパティを管理する必要はありません.
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タイプです.空でない検証が必要な場合は、このプロパティに値を割り当てます.割り当てられた値は、コントロールが空の場合のプロンプトです.検証が必要ない場合は、このプロパティを管理する必要はありません.