IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[Ajax DotNet3.5] Partial update


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2004
    Messages : 157
    Par défaut [Ajax DotNet3.5] Partial update
    Bonjour à tous,

    Ma question est surement due à une mauvaise utilisation de l'outils donc il ne faut surement pas aller chercher bien loin mais pour moi cela pause pas mal de problème.

    Je tente de développer un site asp avec l'entity framework.

    J'ai donc deux projet

    1 projet web
    1 projet library (dll) contenant mes entités.

    J'ai par exemple une page contenant le détail d'un article

    Je charge les données par l'evenement Page_Load.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    protected void Page_Load(object sender, EventArgs e)
        {
                Article article = null;
                int intArticleIdent;
     
                // On tente de transformer en entier la valeur reçu, si cela ne fonctionne pas, on renvoie l'utilisateur à la page de login.
                if (!int.TryParse(Request.QueryString["articleIdent"], out intArticleIdent))
                    Response.Redirect("~/Default.aspx");
     
                article = Article.SelectByIdent(intArticleIdent);
     
                txtIdent.Text = article.Identifiant.ToString();
                txtTpArticle.Text = article.TypeArticle;
                txtNom.Text = article.Nom;
     
                //Si l'article est un matela
                if (article is Matelas)
                {
                    // On remplit la matière
                    txtMatiere.Text = ((Matelas)article).TypeMatiereIdent.ToString();
     
                    ddlMatiere.DataSource = Sys_Type_Matiere.SelectAllByLangCode("FRA");
                    ddlMatiere.DataValueField = "Ident";
                    ddlMatiere.DataTextField = "Libelle";
                    ddlMatiere.DataBind();
                    ddlMatiere.SelectedValue = ((Matelas)article).TypeMatiereIdent.ToString();
                }
                else
                {
                    //Sinon on masque les composants
                    lblMatiere.Visible = false;
                    txtMatiere.Visible = false;
                    ddlMatiere.Visible = false;
                }
     
     
     
                grdDetails.DataSource = article.Article_Details;
                grdDetails.DataBind();
        }
     
        protected void ddlMatiere_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtMatiere.Text = ddlMatiere.SelectedValue.ToString();
            UpdatePanel1.Update();
        }
    Je veux que quand je change la matière dans ma dropdownlist, le textbox contenant la SelectedValue change.

    Le hic est qu'avec l'updatepanel quand je lui demande de ce recharger, on repasse dans le page_load même si mon scriptmanager.EnablePartial rendering = true;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:ScriptManager ID="smgMyScript" runat="server" EnablePartialRendering="true" >
    </asp:ScriptManager>
    Dois je changer mon code pour passer en paramètre la nouvelle valeur de ma dropdown ou est il possible de ne recharger que l'événement des composants contenu dans l'updatepanel?

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,
    alors pour ma part je te proposerais deux solutions (il y en a certainement d'autre)

    La première : Utilisé le IsPostBack
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    protected void Page_Load(object sender, EventArgs e)
            {
                  if(!IsPostBack)
                  {
                        // ICI charger qu'au chargement de la page
                  }
                  else
                  {
                         // ICI charger à chaque postback donc lors de click sur 
                            un bouton ou un changement de valeur d'une texbox 
                            si l'autopostback est enable
                  }
            }
    La seconde : Utilisé plusieur update panel.
    En effet tu peu utilisé plusieurs update panel mettant la propriété UpdateMode en conditionnal au quel cas tu devras appeler UpdatePanel1.Update();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
    Voilà en espérant que ça puisse t'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/05/2012, 15h33
  2. [Ajax] Updatepanel qui s'update pas.
    Par ketthos dans le forum ASP.NET
    Réponses: 5
    Dernier message: 18/02/2008, 14h48
  3. [AJAX] Ajax update cote client
    Par Marco77 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/01/2007, 15h26
  4. Partial update, et grooooosse combo list
    Par johan_barbier dans le forum XMLRAD
    Réponses: 7
    Dernier message: 19/10/2005, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo