C# 复选框列表以生成一个文本框
所以我有这个复选框列表,我试图在选中MISC复选框时生成一个文本框C# 复选框列表以生成一个文本框,c#,jquery,asp.net,C#,Jquery,Asp.net,所以我有这个复选框列表,我试图在选中MISC复选框时生成一个文本框 <asp:CheckBoxList ID="chbxEquipmnt" runat="server"RepeatColumns="4" RepeatDirection="Horizontal" ValidationGroup="Equipment" OnSelectedIndexChanged="chbxEquipmnt_SelectedIndexChanged"> <asp:L
<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>
我尝试过使用回发进行调试,回发会持续返回选中的第一个复选框…例如,我选中了laptop而不是Misc first,调试器中的值始终显示laptop。我不确定一个简单的循环是否会对点击所有按钮有所帮助……我刚从学校毕业,这对我来说是一个职业改变,所以感谢你的耐心我会改变方法:不要在运行时创建文本框 在设计时创建它,默认情况下隐藏它(可见属性),然后在选择
Misc
选项时显示它
这样你会遇到更少的问题。在运行时创建控件需要一些额外的工作:处理
ViewState
,在PostBack
上重新创建控件,等等。自动PostBack道具在哪里?这不会像这样工作对不起,我粘贴了一个没有它的版本…我会把它放回复选框列表现在这是我要走的路线,现在如果我能得到的文本框正是我想要的。。
protected void chbxEquipmnt_SelectedIndexChanged(object sender, EventArgs e)
{
if (chbxEquipmnt.SelectedValue == "Misc")
{
TextBox txt = new TextBox();
txt.ID = "txtMiscCheckBox";
Page.Form.Controls.Add(txt);
}
}