我是這個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標籤。在取消選擇後顯示空引用異常 –