回发后,复选框不会更改其选中的值

时间:2013-12-27 17:31:30

标签: c# asp.net checkbox checked

我有一个复选框,从中我获得了检查值,但是第一次工作得很好,但是在回发后我根本没有改变,总是返回true。

我只是这样做

bool accepted = this.chkAccepted.Checked;

我的复选框位于控件内。不是直接在页面中转发。

<asp:CheckBox ID="chkAccepted" runat="server" Checked="true"/>Accepted

第一次启动check = true。我点击我的按钮第一次回发并正常工作,然后我取消选中,点击我的按钮,但检查仍然是真的。

第一次启动check = true。我取消选中该复选框,然后我点击我的按钮第一次回发并正常工作,然后我检查,点击我的按钮但检查结果为真,然后我再次取消选中并始终检查=真。

那么,这有什么问题?

我在同一个控件中有另一个复选框,它没有初始化Checked属性,总是正常工作。那么我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:5)

好的,经过一些研究,我意识到这是一个.NET漏洞。因此,当在aspx中将复选框的Checked属性设置为true时,会导致问题。所以,我删除了这个属性,在Page_Load事件(服务器端)中,我在Page.IsPostBack == false中初始化了复选框为true。这解决了我的问题。

相关问题