1

チェックボックスを使用するasp.net/c#でWebフォームを作成しようとしています。私がやりたいことは、別のボックスがチェックされている場合に、あるボックスを自動的にチェックすることです

たとえば、button2 がチェックされている場合、button1 は自動的にチェックされますが、button1 がチェックされているかどうかは自動的にはチェックされません。

これを次のように処理する if ステートメントを実行してみました:

if(checkbox1.changed == true)
{
    checkbox2.changed == true;
} 

しかし、これはうまくいきませんでした。誰もがこれを行う方法についてどこを見るべきかを正しい方向に向けてくれます。

4

3 に答える 3

2

このようなことを意味しますか?

default.aspx

<form id="form1" runat="server">
    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" 
        oncheckedchanged="CheckBox1_CheckedChanged" Text="Box1" />
    <asp:CheckBox ID="CheckBox2" runat="server" Text="Box2" />
</form>

default.aspx.cs

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    if (CheckBox1.Checked)
        CheckBox2.Checked = true;
}

これにより、checkbox1 をオンにすると、checkbox2 がオンになります。AutoPostBack="True"チェックボックス 1 を変更すると、ページがサーバーにポストバックされる原因に注意してください。

とにかく、この種の解決策を考えるべきです。あなたが何を達成したいのか正確にはわかりませんが、javaScript を介してクライアントでこれを管理する方が良い解決策かもしれません。

于 2012-08-29T19:13:43.640 に答える
1

You can do this entirely on Javascript

<asp:CheckBox ID="CheckBox1" runat="server" onclick="changed(this);" />
<asp:CheckBox ID="CheckBox2" runat="server" />

And then the JS function that will check Checkbox2 if Checkbox1 is checked....

 function changed(element) {
        if (element.checked) {
            document.getElementById('<%=CheckBox2.ClientID%>').checked = element.checked;
        }

    }
于 2012-08-29T19:11:16.770 に答える
1

あなたは単純な間違いをしています。チェックボックスには、変更されていない Checked プロパティがあります。

if( checkbox1.Checked == true)
{
   checkbox2.Checked == true;
} 

MSDNの CheckBox プロパティの詳細を参照してください

于 2012-08-29T19:12:27.957 に答える