Existe-t-il un moyen d'arrêter le traitement d'un rappel initié par un bouton personnalisé défini dans une grille ASPxGridView?

J'ai ceci dans mon code:

BeginCallback="function(s, e) {
    var response = confirm('Really want to do this?');
    //if response = false, I need to stop processing...
}"

J'ai besoin d'une des deux solutions:

  1. arrêtez immédiatement qu'ils appellent (le serveur ne sera pas touché) ou
  2. informez le serveur que l'appel a été annulé afin qu'il puisse quitter rapidement le gestionnaire de rappel.

Merci.

1
Adi 21 déc. 2011 à 19:46

3 réponses

Meilleure réponse

Tu peux le faire..

<ClientSideEvents CustomButtonClick="function(s, e)
{
if(e.buttonID=='Send')
{
if (confirm ('Are you sure?'))
{
e.processOnServer = true;
}
}
else
{
e.processOnServer = true;
}
}
" />

Crédit

3
user1003512 30 janv. 2013 à 14:04

Vous ne pouvez pas annuler le rappel dans le gestionnaire d'événements BeginCallback. Vous devez essayer d'afficher la boîte de dialogue de confirmation avant le début du rappel. Je suis sûr que vous ne voulez pas ajouter de boîte de dialogue de confirmation à tous les rappels de grille (pagination, tri, regroupement, modification, rappels personnalisés, etc.).
Regardez ici pour une explication officielle.

2
Filip 21 déc. 2011 à 16:11

Vous ne pouvez pas annuler le rappel dans l'événement BeginCallback. Vous pouvez faire quelque chose comme ça comme solution alternative.

<dxe:ASPxButton ID="btnConfirm" runat="server" AutoPostBack="False" Text="Callback">
    <ClientSideEvents Click="function(s, e) {if(!confirm('Really want to do this?')) return; gvCallbackGrid.PerformCallback();}" />
</dxe:ASPxButton>

<dxwgv:ASPxGridView ID="gvCallbackGrid" runat="server" ClientInstanceName="gvCallbackGrid">
....
</dxwgv:ASPxGridViewTemplateReplacement>
0
Akhil 22 déc. 2011 à 01:44
8592457