点滴积累【ASP.NET】定义一个textbox用户控件在ascx页面!在不同的aspx页面调用时动态验证

在不同页面调用用户控件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类型的。
当我需要非空验证时,就给该属性赋值。赋的值为,当控件为空时的提示信息。
当不需要验证时,就不用管这个属性。

原文地址:https://www.cnblogs.com/xinchun/p/2858843.html