在不同頁面調用使用者控制項textbox動態驗證:
在ascx頁面中定義一個textbox控制項,在不同的aspx頁面調用時,有些需要驗證非空有些不需要驗證非空如何?:
實現思路:
1.在ascx使用者控制項頁面,放一個非空驗證的控制項(RequiredFieldValidator),將啟用狀態設定為Enabled = false.就是不啟用控制項。並且給這個使用者控制項自訂一個屬性。屬性名稱,類型可以自訂。
1 private string isValidation;2 public string IsValidation3 {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類型的。
當我需要非空驗證時,就給該屬性賦值。賦的值為,當控制項為空白時的提示資訊。
當不需要驗證時,就不用管這個屬性。