Y a-t-il un moyen de déterminer si un
if (Request.IsAjaxRequest() && !Page.IsUpdatePanelPostback)
{
// Deal with jQuery Ajax
}
3 Réponses :
Essayez Suivant:
var controlName = Page.Request.Params.Get("__EVENTTARGET"); if (!String.IsNullOrEmpty(controlName)) { // Use FindControl(controlName) to see whether // control is of UpdatePanel type }
Cela pourrait fonctionner mais il ne détecte que un panneau de mise à jour spécifique, n'est-ce pas? Je suis après une solution plus «générique» qui détecte tout UpdatePanel.
Aucun problème, vous pouvez utiliser FindControl () pour voir si ce contrôle est de type UpdatePanel ... j'ai mis à jour ma réponse
Je ne sais pas si cela fonctionnera mieux que votre solution, mais avez-vous essayé?:
Je me demande si je pouvais utiliser 'scriptmanager.getcurrent (page) .isinasyncpospostback' sur ses propres contrôles, car je suppose que d'autres contrôles des extensions ASP.NET AJAX pourraient tirer une demande Ajax que je ne veux pas ramasser.
Cela vaut la peine d'être coupé, je suppose.
Vous pouvez vérifier si le potage était asynchrone et s'il a été émis par un panneau de mise à jour en regardant ces propriétés:
ScriptManager.GetCurrent(Page).IsInAsyncPostback ScriptManager.GetCurrent(Page).AsyncPostbackSourceElementID