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.