复选框列表以生成一个文本框
本文关键字:一个 文本 列表 复选框 | 更新日期: 2023-09-27 18:34:43
所以我有这个复选框列表,并在选中 MISC 复选框时尝试生成一个文本框。
<asp:CheckBoxList ID="chbxEquipmnt" runat="server"RepeatColumns="4" RepeatDirection="Horizontal" ValidationGroup="Equipment" OnSelectedIndexChanged="chbxEquipmnt_SelectedIndexChanged">
<asp:ListItem Value="Laptop">Laptop</asp:ListItem>
<asp:ListItem Value=" Label Printer">Label Printer</asp:ListItem>
<asp:ListItem Value="Printer">Printer</asp:ListItem>
<asp:ListItem Value="Fax Line">Fax Line</asp:ListItem>
<asp:ListItem Value="PC">PC</asp:ListItem>
<asp:ListItem Value="MFD">MFD</asp:ListItem>
<asp:ListItem Value="Phone Line">Phone Line</asp:ListItem>
<asp:ListItem Value="Misc">Misc</asp:ListItem>
</asp:CheckBoxList>
在我的Cs页面上,我有...
protected void chbxEquipmnt_SelectedIndexChanged(object sender, EventArgs e)
{
if (chbxEquipmnt.SelectedValue == "Misc")
{
TextBox txt = new TextBox();
txt.ID = "txtMiscCheckBox";
Page.Form.Controls.Add(txt);
}
}
调试我已经尝试使用回发,它连续返回选中的第一个复选框......例如,我首先检查了笔记本电脑而不是杂项,调试器中的值始终向我显示笔记本电脑。我不确定一个简单的循环是否通过所有按钮点击会有所帮助.....我刚从学校毕业,这对我来说是一个职业转变,所以感谢您的耐心等待
我会改变方法:不要在运行时创建文本框。
在设计时创建它,默认情况下隐藏它(Visible 属性(,然后在选择Misc
选项时显示它。
这样你会遇到更少的问题。在运行时创建控件需要一些额外的努力:处理ViewState
,在PostBack
上重新创建控件等。