2009-04-03 8 views
0

Je suis encore relativement nouveau sur ASP.Net, alors pardonnez-moi si c'est une question stupide. Au chargement de la page, j'affiche un indicateur de progression, après quoi je repasse un message afin de pouvoir gérer le chargement de la page. Lors de la publication, selon certains critères, je désactive certains liens sur la page. Cependant, les liens ne seront pas désactivés. J'ai remarqué que si je forçais les liens à désactiver la première fois dans (par débogage) que les liens désactivent juste très bien. Cependant, je n'ai pas les données dont j'ai besoin à ce moment-là pour prendre la décision de désactiver.Les liens ASP.Net ne seront pas désactivés si cela est fait pendant la publication

code Derrière

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 est la fonction d'un obout qui fait un postback normal et suit ensuite un appel à la méthode de serveur nommé par le deuxième paramètre. puis suivi de l'appel à une méthode JavaScript nommée par le troisième param. Le premier paramètre est la page à publier. Une valeur de null revient à la page en cours.

La publication fonctionne correctement. Toutes les méthodes sont appelées dans le bon ordre. Le code qui me pose problème est sous le code en gras. (somelink.disabled = True ne désactive pas réellement le lien) Encore une fois, si je débogue et force la désactivation du lien à se produire la première fois, il désactive. Est-ce que quelqu'un sait ce que je pourrais faire pour contourner cela?

Merci, GRB

Répondre

3

Votre exemple de code utilise le contrôle de IsCallBack, alors que les pourparlers texte question sur le IsPostBack Check. Je vérifierais que vous utilisez Page.IsPostBack dans votre code pour désactiver les liens.