Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problema con usercontrol possibile bug?

    ciao
    io ho la mia pagina .aspx che carica un file .ascx

    In questo ascx ho un datagrid con un templatecolumn dove ho messo un dropdownlist
    codice:
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:dropdownlist id="drpSelect" Runat="server" OnSelectedIndexChanged="drpSelect_SelectedIndexChanged" AutoPostBack="True">
    	<asp:listitem value="">...</asp:listitem>
    	<asp:listitem value=" ">Invio</asp:listitem>
    	<asp:listitem value="02">F2</asp:listitem>
    </asp:dropdownlist>
    </ItemTemplate>
    </asp:TemplateColumn>
    alla selezione di un item del drop dovrei richiamare la funzione associata
    protected void drpSelect_SelectedIndexChanged(object sender, EventArgs e)

    il problema è che non mi si fila come se non catturasse l'evento.

    Ho provato visto che questa procedura la uso sempre in una pagina .aspx e devo dire con grande sollievo che va.

    quindi che potrbbe essere?percaso vi risulta qualcosa?

  2. #2

    Re: Problema con usercontrol possibile bug?

    Originariamente inviato da Daniele80
    quindi che potrbbe essere?percaso vi risulta qualcosa?
    Non ci dovrebbero essere problemi di questo tipo legati all'uso di web user control quindi sembra piu' un errore nel codice.
    Saluti a tutti
    Riccardo

  3. #3
    discutendo con altre persone invece è uscito fuori questo problema

    aspx 0
    --ascx 1
    ------contenitore 2
    ----------controllo che scatena l'evento 3


    l'evento che viene scatenato non può essere intercettato per via del livello di gerarchia. L'evento viene intercettato fino ad un postback di livello 2 perciò bisogna trovare un'alternetiva

    magari la spiegazione non è delle migliori però giusto per farti capire.

  4. #4
    Originariamente inviato da Daniele80
    magari la spiegazione non è delle migliori però giusto per farti capire.
    in effetti non e' molto chiara. Comunque guarda, facciamo passo passo la cosa. Hai un progetto con una pagina aspx e un web user control. Nel wuc trascini una datagrid e ci metti il codice che avevi postato all'inizio e che indico qui di seguito per comodita:
    codice:
    <asp:DataGrid id="DataGrid1" runat="server">
    	<Columns>
    		<asp:TemplateColumn>
    			<ItemTemplate>
    				<asp:dropdownlist id="drpSelect" Runat="server" OnSelectedIndexChanged="drpSelect_SelectedIndexChanged"
    					AutoPostBack="True">
    					<asp:listitem value="">...</asp:listitem>
    					<asp:listitem value=" ">Invio</asp:listitem>
    					<asp:listitem value="02">F2</asp:listitem>
    				</asp:dropdownlist>
    			</ItemTemplate>
    		</asp:TemplateColumn>
    	</Columns>
    </asp:DataGrid>
    nel code behind del wuc metti
    codice:
    Public Sub drpSelect_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
        End Sub
    riempi nel Page_Load del wuc una datatable e popola la datagrid. Trascina il wuc sulla pagina aspx ed esegui il progetto.
    Quando cambi selezione nella dropdown passi la palla alla funzione drpSelect_SelectedIndexChanged.
    Saluti a tutti
    Riccardo

  5. #5
    trovato l'arcano...nella mia bellissima pagina index.aspx

    ho un mare di opzioni che prevedono il load dello user. Facendo attenzione alle varie opzioni si è capito che non tutte facevano il load dell'user


    quindi ora trovo l'evento...grazie del supporto morale.


    PS. cmq leggete questo magari un giorno tornerà utile.
    http://msdn.microsoft.com/library/it...mmandevent.asp

  6. #6
    Originariamente inviato da Daniele80
    grazie del supporto morale
    prego... insomma ciavevo azzeccato al primo tentativo
    Saluti a tutti
    Riccardo

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ragazzi, io invece ho un problema simile...
    Ne parlavo gia' in un altro post (http://forum.html.it/forum/showthrea...hreadid=747765), quindi saro' breve.

    Io ho una dropdown costruita da codice nella sub che si occupa di gestire l'evento EDIT del Datagrid.
    Ho un EditItemTemplate che visualizza quindi il controllo costruito.

    Quando tento di fare l'update andando nella sub che si occupa invece dell'UPDATE, (rimanendo dunque l'item bell'e selezionato) il controllo scompare e non riesco a reperire il valore tramite FindControl, costringendomi quindi a ricrearlo ad ogni sub, e, cosa peggiore, a ricrearlo, naturalmente, cosi' come l'utente lo ha modificato. Non vi sembra che le cose si siano un pochettino complicate rispetto ai banalissimi Request.Form("nomecampo") ?

  8. #8
    io per recuperare l'evento associato al drop ho dovuto levare il postback nel page_load e mettere ogni volta questta cosa:

    codice:
    foreach(DataGridItem dgi in dgGrid1.Items)
    {
      DropDownList drp=(DropDownList)dgi.FindControl("drpSelect");
      drp.SelectedIndexChanged+=new EventHandler(this.drpSelect_SelectedIndexChanged);
    }
    in modo tale di associare l'evento ad ogni drop

    questo perchè lo statodella pagina non si salva il datagrid

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.