Ссылки ASP.Net не будут отключены, если они сделаны во время обратной передачи - PullRequest
0 голосов
/ 03 апреля 2009

Я все еще новичок в ASP.Net, так что простите, если это глупый вопрос.

При загрузке страницы я показываю индикатор прогресса, после чего я делаю пост обратно, чтобы обработать фактическую загрузку страницы. Во время обратной записи, основываясь на определенных критериях, я отключаю определенные ссылки на странице. Однако ссылки не будут отключены. Я заметил, что если я заставляю ссылки отключаться в первый раз (через отладку), то ссылки отключаются просто отлично. Однако у меня нет данных, которые мне нужны в то время, чтобы принять решение об отключении.

Код позади

If (Not IsCallback) Then
    pnlLoading.Visible = True
    pnlQuote1.Visible = False
Else
    pnlLoading.Visible = False
    pnlQuote1.Visible = True
    <Load data from DB and web service>
    <Build page>
    If (<Some Criteria>) Then
        somelink.Disable = True
    End If
End If

JavaScript

if (document.getElementById('pnlQuote1') === null) {
    ob_post.post(null, 'PerformRating', ratingResult);
}

ob_post.post - это функция obout js, которая выполняет обычную обратную передачу, а затем выполняет вызов метода сервера, названного вторым параметром. затем следует вызов метода JavaScript, названного третьим параметром. Первый параметр - это страница для публикации. Значение пустых сообщений обратно на текущую страницу.

Пост обратно работает нормально. Все методы вызываются в правильном порядке. Код, который доставляет мне неприятности, находится под кодом, выделенным жирным шрифтом. (somelink.disabled = True на самом деле не отключает ссылку) Опять же, если я отлаживаю и принудительно отключаю ссылку в первый раз, она отключается. Кто-нибудь знает, что я могу сделать, чтобы обойти это?

Спасибо, GRB

1 Ответ

3 голосов
/ 03 апреля 2009

В вашем примере кода используется проверка IsCallBack, а в тексте вопроса говорится о проверке IsPostback. Я бы подтвердил, что вы используете Page.IsPostBack в своем коде для отключения ссылок.

...