проблема с флажком в asp .net c #? - PullRequest
0 голосов
/ 18 июля 2011

Элементы управления на странице aspx такие Отправлено Дата подачи

Хочу, если флажок установлен, то текстовое поле будет включено.

  if(chkSubmitted.Checked)
        {
            txtSubmissionDate.Enabled = true;
        }

в событии загрузки страницы. Но когда страница загружена, этот флажок не влияет на. Что не так?

Ответы [ 4 ]

1 голос
/ 18 июля 2011

Сначала установите для свойства autopostback значение true для флажка

введите следующий код в событие checkbox_Selectedindexchanged

if(chkSubmitted.Checked)
{             
txtSubmissionDate.Enabled = true;  
} 
else
{
txtSubmissionDate.Enabled = false;
}
1 голос
/ 18 июля 2011

Если вы хотите, чтобы действие над флажком включало текстовое поле, вам нужно будет выполнить обратную передачу, когда флажок установлен, установив AutoPostBack="True":

<asp:CheckBox runat="server" ID="chkSubmitted" AutoPostBack="True" />

Или вы можете использоватьJavaScript:

<asp:CheckBox runat="server" ID="chkSubmitted" onclick="setSubmissionDateEnabled()" />

function setSubmissionDateEnabled()
{
    var chkSubmitted = document.getElementById("<%= chkSubmitted.ClientID %>");
    var txtSubmissionDate = document.getElementById("<%= txtSubmissionDate.ClientID %>");
    txtSubmissionDate.disabled = !chkSubmitted.checked;
}
0 голосов
/ 18 июля 2011

Поместите это в Page_PreRender событие.На этом этапе он фиксирует состояние chkSubmitted, затронутое пользователем.

0 голосов
/ 18 июля 2011

Скорее всего, потому что состояние по умолчанию txtSubmissionDate уже включено.

Попробуйте это в вашем page_load:

txtSubmissionDate.enabled = !chkSubmitted.Checked

Чтобы уточнить, текстовое поле не должно (!) Бытьвключается, когда флажок установлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...