ASP.net флажок всегда установлен - PullRequest
4 голосов
/ 30 сентября 2010
<asp:CheckBox ID="isSubscribed" runat="server" /> Subscribe to mailing list?<br /><br />
<asp:Button runat="server" CssClass="btn" ID="btnPrefUpdate" OnClick="updatePrefs" Text="Update" /><br /><br />

Это срабатывает в коде:

protected void updatePrefs(object sender, EventArgs e)
{
    Response.Write(isSubscribed.Checked);
    Response.End();
}

Но это всегда получается как правда!Будь то проверено или нет!Я знаю, что я делаю это неправильно, кто-то может показать мне, как правильно получить доступ к этому значению?

Ответы [ 2 ]

9 голосов
/ 30 сентября 2010

как сказал @Curt, мне кажется, что у вас есть что-то в вашей page_load.если вы установите значение в Page_Load, убедитесь, что оно находится внутри следующего оператора if

if(!Page.isPostBack)
{
    isSubscribed.Checked = true; 
}
1 голос
/ 30 сентября 2010

Вы делаете это правильно. Логическое свойство Checked должно просто сказать True или False (я даже проверял это). Ваш Page_Load что-то делает с флажком? Другими словами, является ли значение флажка каким-либо образом (повторно) установленным, когда происходит обратная запись (обратная передача нажатия кнопки).

В вашем методе Page_Load вы можете включить:

if (!this.IsPostBack)
{
// Set default or loaded values for controls
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...