asp.net 带有 OnClick="return false" 的复选框(<== 只读)。如何在后面的代码中改成"return true"(<==可以写)

asp.net checkbox with OnClick="return false" (<== read only). How to change to "return true" (<== can write) and back in code behind

我有一个 asp:checkboxOnClick="return false",其中 'closes' 用于更改(这与我发现的 ReadOnly=true 最接近)。
我也有一个按钮。
当我 单击按钮 时,我需要代码隐藏 (C#) 将复选框更改为 "return true",即:更改为 'open' 以选中或取消选中。再次单击该按钮应该 'close' 它会再次返回。

简而言之 - 如何在后面的代码中切换这两种状态?

HTML:

<asp:Button runat="server" ID="my_Button" Text="click me" OnClick="my_Button_Click" />
<asp:CheckBox runat="server" ID="my_CheckBox" Checked="true" OnClick="return false;" />

后面的代码:

    protected void my_Button_Click(object sender, EventArgs e)
    {
       // here is where the toggling should come...     <============
    }

如您在此处所见:OnClick vs OnClientClick for an asp:CheckBox? - 复选框没有 OnClick。您应该改用 OnCheckedChanged。 我附上了对问题的小修复:

<asp:Button runat="server" ID="my_Button" Text="click me" OnClick="my_Button_Click" />
    <asp:CheckBox runat="server" ID="my_CheckBox" Checked="true" OnCheckedChanged="my_checkbox_click" />

后面的代码:

protected void my_checkbox_click(object sender, EventArgs e)
    {
    }

    protected void my_Button_Click(object sender, EventArgs e)
    {
        my_CheckBox.Enabled = !my_CheckBox.Enabled;            
    }

为了实现这个,我加了一个HiddenField,在后面的代码中使用了
HTML:

<asp:HiddenField runat="server" ID="my_Hidden_Field" Value="readonly" />
<asp:Button runat="server" ID="my_Button" Text="click me" OnClick="my_Button_Click" />
<asp:CheckBox runat="server" ID="my_CheckBox" Checked="true" OnClick="return false;" />

后面的代码:

    protected void my_Button_Click(object sender, EventArgs e)
    {
        if (my_Hidden_Field.Value == "readonly")
        {
            my_Hidden_Field.Value = "canwrite";
            my_CheckBox.Attributes.Add("onclick", "return true;");
        }
        else
        {
            my_Hidden_Field.Value = "readonly";
            my_CheckBox.Attributes.Add("onclick", "return false;");
        }
    }

(像往常一样,我找了一两天的解决方案,放弃了,post在这里提出一个问题,然后我想出了一个答案......希望这对其他人有帮助:-)