我有一个ascx页面,其中我在dltest_ItemDataBound上动态添加复选框,我正在绑定数据,重新填充复选框我正在做的每件事情都做得很好,现在我在一个aspx页面上调用这个ascx文件说case.aspx,我写了以下代码
private void GetModalities() {
List<ListItem> lstRadiograph = new List<ListItem>();
DataSet ds2 = objGetBaseCase.GetSubspecialities();
ListItem list;
MultipleModalitySelect1.DataSource = listItem;
Pathophysiology.DataSource = objGetBaseCase.Pathophysiology();
list = new ListItem();
list.Text = "No add'l categories";
list.Value = 0.ToString();
SublistItem.Add(list);
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++) {
list = new ListItem();
list.Text = ds2.Tables[0].Rows[i][1].ToString();
list.Value = ds2.Tables[0].Rows[i][0].ToString();
SublistItem.Add(list);
}
Subspecialities.DataSource = SublistItem;
}
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
GetModalities();
}
}
在这个case.aspx页面我有一个文本框
<asp:TextBox ID="txtAge" runat="server"
class="inputgb" Width="30px" MaxLength="3"></asp:TextBox>
<asp:Label ID="lblAgeErr" runat="server"
ForeColor="Red" Font-Bold="True" Font-Size="X-Large"
Visible="False">*</asp:Label>
我按条件验证文本框
if (txtAge.Text == "") {
lblAgeErr.Visible = true;
error = true;
} else {
lblAgeErr.Visible = false;
}
问题是
如果txtAge为空则导致条件,但是Modality填充为空!IsPostBack并显示空复选框,如果我正在调用GetModality();出来了!IsPostBack然后条件导致好了复选框没有填充但是当我选择一些值时它没有被选中。
我无法知道该怎么做。所以当txtAge为空时,当我在!IsPostBack中写入GetModality()时,复选框不应填充为空,我应该点击btn Next