Ich verwende eine DataList als TabStrip Navigation. Das funktioniert
mittlerweile auch ganz gut. Allerdings wird der aktive Tab erst beim 2.
Click korrekt initialisiert. Beim 2. Click wird auch der Handler
ItemCommand nicht mehr aufgerufen. Woran kann das liegen?

Das ganze kann man unter http://193.254.238.70/test-it/config sehen.

Hier der Code:

<%@ Page language="c#" Codebehind="index.aspx.cs"
AutoEventWireup="false" Inherits="itetb.config.index" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CMx Administration</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5";>
<link rel="stylesheet" href="config.css" type="text/css">
</HEAD>
<body>
<form id="index" method="post" runat="server">
<TABLE id="TableMain" cellSpacing="0" cellPadding="5" width="910"
align="center" border="0" class="TableMain" runat="server">
<TR>
<TD align="middle">
<TABLE id="TableHeader" cellSpacing="0" cellPadding="0" width="100%"
border="0" runat="server">
<TR>
<TD>
<asp:DataList id="DataListNavigation" runat="server"
RepeatDirection="Horizontal" EnableViewState="True">
<SelectedItemStyle CssClass="NavTabActive"></SelectedItemStyle>
<SelectedItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %>
</SelectedItemTemplate>
<SeparatorStyle CssClass="NavSeperator"></SeparatorStyle>
<ItemStyle CssClass="NavTab"></ItemStyle>
<ItemTemplate>
<asp:LinkButton runat='server' Text='<%#
DataBinder.Eval(Container.DataItem, "Name") %>'>
</asp:LinkButton>
</ItemTemplate>
<SeparatorTemplate>
</SeparatorTemplate>
</asp:DataList></TD>
</TR>
</TABLE>
<TABLE id="TableContent" cellSpacing="0" cellPadding="0" width="100%"
border="0" class="TableContent">
<TR>
<TD></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</form>
</body>
</HTML>



using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace itetb.config
{
        /// <summary>
        /// Zusammendfassende Beschreibung f�r _default.
        /// </summary>
        public class index : System.Web.UI.Page
        {
                protected System.Web.UI.WebControls.DataList
DataListNavigation;
                protected System.Web.UI.HtmlControls.HtmlTable
TableMain;
                protected System.Web.UI.HtmlControls.HtmlTable
TableHeader;
                protected itetb.config.modules.Modules Navigation;

                private void Page_Load(object sender, System.EventArgs
e)
                {
                        
                        this.GetNavigationData();
                        if(!Page.IsPostBack)
                        {
                                
                                this.DataListNavigation.SelectedIndex =
0;
                        }
                }

                private void GetNavigationData()
                {
                        if(Session["Navigation"] == null)
                        {
                                string file =
Server.MapPath("modules/modules.xml");
                                this.Navigation = new
itetb.config.modules.Modules();
                                this.Navigation.ReadXml(file);
                                Session["Navigation"] = this.Navigation;
                        }
                        else
                        {
                                this.Navigation =
(itetb.config.modules.Modules)Session["Navigation"];
                        }
                        this.DataListNavigation.DataSource =
this.Navigation.Module;
                        this.DataListNavigation.DataMember = "Name";
                        this.DataListNavigation.DataBind();
                }


                #region Web Form Designer generated code
                override protected void OnInit(EventArgs e)
                {
                        //
                        // CODEGEN: Dieser Aufruf ist f�r den ASP.NET
Web Form-Designer erforderlich.
                        //
                        InitializeComponent();
                        base.OnInit(e);
                }
                
                /// <summary>
                /// 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.DataListNavigation.ItemCommand += new
System.Web.UI.WebControls.DataListCommandEventHandler(this.DataListNavig
ation_ItemCommand);
                        this.Load += new
System.EventHandler(this.Page_Load);

                }
                #endregion

                private void DataListNavigation_ItemCommand(object
source, System.Web.UI.WebControls.DataListCommandEventArgs e)
                {
                        this.GetNavigationData();
                        this.DataListNavigation.SelectedIndex =
e.Item.ItemIndex;
                }

        }
}



| [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