Hallo Liste,

ich habe in einer ASPX-Seite ein Placeholder Objekt "pl01" und eine
DataList "dl1". Bei dem ItemCommand der DataList wird in den PlaceHolder
ein UserControl mit LoadControl("test.ascx") geladen und eine
SessionVariable festgelegt, die einen Wert der DataList (eine ID)
enth�lt.
Daraufhin wird eine DataList "DataList5" in dem UserControl gef�llt.

F�r eine Detailansicht befindet sich in DataList5 ein Button. Wenn man
auf diesen klickt soll das SelectedItemTemplate angezeigt werden.

Dies funktioniert auch, allerdings erst beim 2. Klick auf den Button.
Habe ich eine Initialisierung vergessen, oder muss ich in der ASPX
irgendeinen Handler definieren?

Kann mir jemand helfen?


Code:
Test.ascx:
------------------------------------------------------------------------
---
<asp:datalist id="DataList5" runat="server"
OnItemCommand="DataList5_Selected">
        <SelectedItemTemplate>
                ...mehrere Labels...
        </SelectedItemTemplate>
        <ItemTemplate>
                <asp:ImageButton id="Imagebutton4" runat="server"
ImageUrl="imgtools/details_light_dark.gif" ToolTip="Details"
CommandName="Details"></asp:ImageButton>
                
        </ItemTemplate>
        <SeparatorTemplate>
                <HR width="100%" color="#cccccc" SIZE="0">
        </SeparatorTemplate>
</asp:datalist>

test.ascx.cs
------------------------------------------------------------------------
---
private void Page_Load(object sender, System.EventArgs e)
                {
                        ladeDaten(); //DB, DataGrid-F�llen
                }

public void DataList5_Selected(object sender, DataListCommandEventArgs
e)
                {
                        if(e.CommandName=="Details")
                        {
                                DataList5.SelectedIndex =
e.Item.ItemIndex;
        
Session["produkview"]=e.Item.FindControl("prodid");
                                loadProdukte();
                        }
                        else if(e.CommandName=="Exit")
                        {
                                DataList5.SelectedIndex = -1;
        
Session["produkview"]=e.Item.FindControl("prodid");
                                loadProdukte();
                        }

                }

                #region Web Form Designer generated code
                override protected void OnInit(EventArgs e)
                {
                        InitializeComponent();
                        base.OnInit(e);
                }
                
                ///             Erforderliche Methode f�r die
Designerunterst�tzung.
                ///             Der Inhalt der Methode darf nicht mit
dem Code-Editor ge�ndert werden.
                /// </summary>
                private void InitializeComponent()
                {
                        this.DataList5.ItemCommand += new
System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList5_Sel
ected);
                        this.Load += new
System.EventHandler(this.Page_Load);

                }
                #endregion
        }



| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp

Antwort per Email an