#asp.net
#asp.net
Вопрос:
У меня проблема с включением тега div, видимого в файле aspx.cs. Я смог сделать его видимым в событии загрузки страницы, установив для свойства visible значение true, но когда я делал то же самое в событии нажатия кнопки, это не работает. Ниже приведен мой тег div. Я не уверен, чего мне здесь не хватает.
<div id="ProcessingScreen" runat="server" Visible="false">
<div style="position: fixed; z-index: 100001; left: 50%; top: 50%;"
role="status" aria-hidden="true" runat="server">
<div class="preloadBG" runat="server">
<div class="loadingStyle" runat="server">
</div>
<div align="center" runat="server">Processing...</div>
</div>
</div>
<div class="modalPopup" style="position: fixed; left: 0px; top: 0px; z-index: 10000; width: 100%; height: 800px;" runat="server">
</div>
</div>
My Button code:
<div class="row">
<asp:Button ID="SubmitCode" runat="server" Text="Submit"
OnClick="SubmitCode_Click" />
</div>
Мой внутренний код выглядит следующим образом:
protected void SubmitCode_Click(object sender, EventArgs e)
{
try
{
ProcessingScreen.Visible = true;
string url = URIPathTextBox.Text;
CheckStatus(url);
}
catch(Exception exception)
{
dl.InsertOBLogs("Exception while Checking:", "Exception Message:" exception.Message " " "Inner Exception Message:" exception.InnerException);
}
}
Комментарии:
1. Итак, где и что находится во внутреннем коде?
2. Мой внутренний код: защищенный void SubmitCode_Click(отправитель объекта, EventArgs e) { try { ProcessingScreen.Visible = true; url-адрес строки = URIPathTextBox.Text; Проверка состояния файла (url); } перехват (исключение исключения) { dl. InsertOBLogs («Исключение при проверке:», «Сообщение об исключении:» исключение. Сообщение » » «Сообщение о внутреннем исключении:» исключение. InnerException); } }
3. <div class=»row»> <asp:Идентификатор кнопки =»SubmitCode» runat=»server» Text=»Submit» OnClick=»SubmitCode_Click» /> </ div>
4. как насчет установки точки останова в событии и перехода через нее? может быть, есть исключение? как насчет удаления остальной части кода из события нажатия кнопки и оставить только
ProcessingScreen.Visible = true;
строку?5. Процедуру checkStatus() лучше запускать очень быстро и быстро — поскольку, пока она не будет завершена, вся веб-страница будет ждать и НЕ вернется обратно в браузер, пока не будет выполнен ВЕСЬ КОД. если вы хотите, чтобы параметр visible вступил в силу и отображался, то checkStatus не может приостановить или использовать код для ожидания. Если проверка состояния займет некоторое время, запустите его как поток — и, таким образом, код может завершиться. Таким образом, любой блокирующий код в codebehind приведет к тому, что вся веб-страница будет находиться на сервере до тех пор, пока весь код не будет выполнен, страница перейдет на сторону клиента, и ваша настройка видимости вступит в силу.