我是这个c#编码的新手。 我想用复选框编写代码。下面是在设计代码流c#复选框不起作用
<table>
<tr>
<td align="right">
<asp:Label ID="lblOwn" runat="server" Text="Owned by You :"></asp:Label>
</td>
<td align="left">
<asp:CheckBoxList ID="chbxOwn" runat="server"
OnSelectedIndexChanged="onAckTypeChanged3" AutoPostBack="true">
<asp:ListItem>2 wheeler</asp:ListItem>
<asp:ListItem>4 wheeler</asp:ListItem>
</asp:CheckBoxList>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label1" runat="server" Text="2 w"></asp:Label>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label2" runat="server" Text="4 w"></asp:Label>
</td>
</tr>
</table>
而且下面的代码隐藏
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Hid1();
Hid2();
}
protected void onAckTypeChanged3(object sender, EventArgs e)
{
if (chbxOwn.SelectedItem.Text == "2 wheeler")
{
Vis1();
}
if (chbxOwn.SelectedItem.Text == "4 wheeler")
{
Vis2();
}
}
private void Hid1()
{
Label1.Visible = false;
}
private void Hid2()
{
Label2.Visible = false;
}
private void Vis1()
{
Label1.Visible = true;
}
private void Vis2()
{
Label2.Visible = true;
}
}
当“2轮车”复选框被选中“2 W”的标签是可见的。但是,当我检查“4惠勒”它不显示两个标签。我想知道我在哪里犯了一个错误。另外,当我取消选中这两个复选框时,会生成一个空引用异常。
可以请你帮我解决这些问题 1.检查两个复选框应显示两个标签。 2.取消选择不应产生空引用异常。
在此先感谢 问候, 阿布舍克
你能多一些时间进行测试,检查他们以不同的顺序等? –
当您检查“4轮车”时,是否都选中了复选框? –
@SamIam:我用不同的顺序检查了它们。首先检查2轮车 - >显示2 w标签。然后检查4轮车 - >隐藏2 w并显示4 w。此时这两个复选框都被选中。当我取消选择4惠勒 - >显示2 w标签。在取消选择后显示空引用异常 –