begin process at 2012 05 27 18:22:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

[ASPNET] PostBack, ID du contrôle qui l'a déclenché


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[ASPNET] PostBack, ID du contrôle qui l'a déclenché

mardi 21 mars 2006 à 13:29:32 | [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr

Bonjour à tous,

Voilà je me gratte la tête car ça ne vient pas...

Je programme en AspNet 2, VBNet

J'ai une page aspx qui créait dynamiquement les contrôles qui la compose.
Lors du postback je voudrais savoir quel est l'id du contrôle qui l'a déclenché.
Ceci afin d'éviter de recréer tous les contrôles de ma page, uniquement le bouton qui généré le postback afin que l'évenement associé par le addhandler soit activé.

PS : j'ai essayé le

Dim str As String = Request.Form("__EVENTTARGET").ToString

mais il est = à ""

Merci d'avance pour votre aide...

PilouLR
mardi 21 mars 2006 à 13:58:07 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

jesusonline

Membre Club Administrateur CodeS-SourceS

Bonjour,

c'est bizarre que __EventTarget soit nul :s

je viens de tester et tout fonctionne bien pour moi :


Partial Class admin_test_Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        If Not Page.IsPostBack Then
            Dim btn As New Button()
            AddHandler btn.Click, AddressOf btn_click
            btn.ID = "toto"
            btn.Text = "coucou :)"

            form1.Controls.Add(btn)
        End If

        If Request.Form("__EVENTTARGET") = "toto" Then
            btn_click(Nothing, EventArgs.Empty)
        End If
    End Sub

    Protected Sub btn_click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Write("je suis clické")
    End Sub
End Class


Cyril - MVS - MCP ASP

mardi 21 mars 2006 à 14:47:21 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr

Merci de ta réponse (rapide :))

En fait le résultat vaut Nothing !!!

Je dois peut-être ajouter que mes contrôles sont créés dans un PlaceHolder. 

En fait, j'utilise une MasterPage dans laquelle j'ai mis dans le Content un PlaceHolder.

Mes contrôles ont tous une ID de définie :


Arrrgggg que se passe t'il ? tu as une idée?

mardi 21 mars 2006 à 14:52:13 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

jesusonline

Membre Club Administrateur CodeS-SourceS
Et si tu fais dans le meme esprit que mon code pour tester ?

sinon donne moi ton code que je voie mieux ce qui se passe


Cyril - MVS - MCP ASP
mardi 21 mars 2006 à 14:58:22 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr



Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

if Not Page.IsPostBack Then

PRoutines =
New Web.AppCode.PageRoutines
'Création des contrôles
PRoutines.CreateControls(BodyHolder)
PRoutines.UpdateControls(BodyHolder)

Dim toto As New Button
toto.ID =
"eee"
toto.Text = "ererer"
BodyHolder.Controls.Add(toto)

Else

Dim
str As String = Request.Form("__EVENTTARGET").ToString
'Le PostBack :
'1) Il est déclencher par une action (bouton, imagebouton,...), dans ce cas il faut impérativement recréer le controle
' pour pouvoir déclencher l'événement
'2) Autres, il faut recréer tous les controles
PRoutines = New Web.AppCode.PageRoutines
'Affectation des valeurs aux controles
'PRoutines.CreateControls(BodyHolder)
'PRoutines.UpdateControls(BodyHolder)
End If
If Request.Form("__EVENTTARGET") = "toto" Then      :::::::::::: ICI le résultat vaut ""
' btn_click(Nothing, EventArgs.Empty)
End If
End Sub

En mettant simplement l'ajout du bouton TOTO,  le résultat est incorrect !!!!!

mardi 21 mars 2006 à 15:19:25 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

jesusonline

Membre Club Administrateur CodeS-SourceS
Si tu supprimes New Web.AppCode.PageRoutines tu as le bon résultat ? car tu retombes sur le meme code que moi .. mis à part que je suis dans le page_init qui est l'evenement conseillé pour rajotué des controles dynamiquement :)


Cyril - MVS - MCP ASP
mardi 21 mars 2006 à 15:20:44 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr


Voici le code de ma page Aspx

<%@ Page Language="VB" MasterPageFile="~/CellDefault.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" title="Default Page" %>

<asp:Content ID="ContentBody" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">

<div class="shim gradient"></div>

<div class="page" id="albums">

<asp:PlaceHolder ID="BodyHolder" runat="server" ></asp:PlaceHolder>

</div>

</asp:Content>

mardi 21 mars 2006 à 15:24:25 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr

Bon j'ai supprimé :

PRoutines = New Web.AppCode.PageRoutines
'Création des contrôles
PRoutines.CreateControls(BodyHolder)
PRoutines.UpdateControls(BodyHolder)

Et j'obtient le même résultat :: je n'y comprend rien : mon code est pourtant simple !!!


???
mardi 21 mars 2006 à 15:30:00 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

piloulr


Quand je suis en debug et que je pointe ma sourie sur la le Request.Form("__EVENTTARGET"),

Il y a un champ qui se nomme AllKeys composée de 5 valeurs dont une vaut : clt00$ContentPlaceHolder$eee qui est l'id de mon bouton...
Mais le Request me rend tjrs "" (mais en passant par le Handle Me.init)


Est-ce que cela peut aider ?
mardi 21 mars 2006 à 15:37:43 | Re : [ASPNET] PostBack, ID du contrôle qui l'a déclenché

jesusonline

Membre Club Administrateur CodeS-SourceS

Request.form est un string ! donc tu peux pas avoir une propriété allkeys dans ton string, ca n'a pas de sens :p

tu travailles en .net 1 ou en .net 2 ?

pour "clt00$ContentPlaceHolder$eee" c'est normal puisque les id "héritent" de leur parent pour assurer une unicité au sein de la page !

en tout cas mon exemple fonctionne :p et je pige pas pourquoi toi non


Cyril - MVS - MCP ASP


1 2

Cette discussion est classée dans : contrôle, id, aspnet, postback, déclenché


Répondre à ce message

Sujets en rapport avec ce message

erreur lors d'un changement de page [ par EvilDef ] lorsque je clique sur un bouton, mon projet ouvre la meme page avec un nouveau parametre (la c simple)mais quand je saisie un champs, je clique une fo Confirmation d'une supression [ par hudon77 ] J'ai un bouton supprimer que je créer dans mon page_load  et il fonctionnait tres bien avant que je mettre un if not ispostback   mais si j'enleve le PROBLEME SUR UN DATAGRID [ par LOUTTY ] SalutJ'ai un datagrid, dans la premiere colonne je voudrais mettre une image qui pointe vers une page ou j'aurai le detail de la ligne de mon datagrid ddl dynamique /id datagrid [ par InnocentCriminal ] Bonjour, J'ai un problème avec le chargement d'une ddl (dropdownlist) dans un datagridExplication :   Mon datagrid est chargé à partir d'une table cha id cellule datagrid ... [ par InnocentCriminal ] bonjourje souhaiterais savoir comment récupérer l'identifiant d'une cellule ou d'un textbox dans une cellule d'un datagrid.Il faut que j'envoie cette [C#] Accès au HEAD de la page [ par stailer ] Bonjour, Je suis en train de faire plusieurs contrôles serveurs en asp.net et la plupart ont besoin d'un fichier javascript externe pour fonctionner OPTIMISATION [ par Jackboy ] J'aimerai qu'un "pro" de l'optimisation puisse me regularisé et optimisé ce code... Pas nécessaire de tout passer a la loupe, mais si vous trouvé des Treeview et Base de donnée : Initilisation [ par tiolebucheron ] Bonjour Je cherche à mettre en place un treeview a partir d'une base de données. Voici la structure de la base et des exemple de jeu de données ID- Choisir ID cellule Datagrid [ par Jufoxx ] Bonjour, je souhaiterai générer l id de mes cellules.e.Item.Cells(i).ID = strID & iQuand je fais cela j'obtiens : id="DataGridConge__ctl2_datagd__ctl2 Propriété name d'un contrôle utilisé dans un user control [ par smoitry ] Re bonjour à tous,Un autre problème me chagrine :Dans mon user control, appelons le "ctrl1", j'ai un textbox, appelons le "text1" (je parle des propri


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales