Laden...

ListView EmptyDataTemplate Controls nicht sichtbar im Codebehind

Erstellt von w1z4rd2003 vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.517 Views
w1z4rd2003 Themenstarter:in
624 Beiträge seit 2006
vor 9 Jahren
ListView EmptyDataTemplate Controls nicht sichtbar im Codebehind

hallo zusammen,

Mein Problem ist folgender: In der ListView funktioniert innerhalb des ItemTemplate alles wunderbar, ich kann über <%# GetText("key") %> ein Text im Codebehind auslesen, dieser wird dann angezeigt.

Sobald ich das gleiche innerhalb vom GroupTemplate oder EmptyDataTemplate machen will wird nichts zurückgegeben.

Als nächste Variante wollte ich überall asp:Labels einsetzen diese mit einer ID versehen und im Codebehind anhand dieser ID den Text ändern, leider wird auch so das Label nicht erkannt. mit FindControls wird irgendwie auch nichts gefunden.

Kann mir jemand sagen was hier falsch ist?

Vielen Dank


   <asp:ListView runat="server" ID="TaskSummary" GroupItemCount="10">
        <LayoutTemplate>
            <asp:PlaceHolder runat="server" ID="groupPlaceholder"></asp:PlaceHolder>
        </LayoutTemplate>
        <GroupTemplate>
            <div class="taskcontainer">
          <p class="taskHeader" runat="server" ID="headerTitle">Bitte alle Aufgaben mittels Button "Erledigen" abschliessen</p><br/>
                <div class="tasks-holder">
                <div class="tasks">
                    <table style:>
                        <asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
                    </table>
                </div>
            </div>
                </div>
        </GroupTemplate>
        <ItemTemplate>
            <tr>
                <td class="firstColumn" style="overflow: hidden; word-wrap: break-word; padding-right: 5px;">
                    <asp:Image CssClass="taskIcon" runat="server" ToolTip="Bitte Button 'Erledigen' klicken" ImageUrl="https://cdn3.iconfinder.com/data/icons/glypho-free/64/pen-checkbox-32.png" ImageAlign="Middle" /></td>
                   <td style="width:100%;"> <%#Eval("Title") %></td>
                <td class="secondColumn"><asp:HyperLink runat="server" ToolTip="Mit klicken auf dem Button werden Sie Schritt für Schritt durch den Task geführt" CssClass="pure-button pure-button-primary" NavigateUrl='<%# FormatOnClickMethod(Eval("ID").ToString()) %>' Text="Erledigen"></asp:HyperLink></td>
                
            </tr>
            <tr style="height: 5px"></tr>
        </ItemTemplate>
        <EmptyDataTemplate>
            <div class="emptyTaskContainer">
            <p class="taskHeader">Ihre Aufgaben</p><br/>
            <table>
                <tr>
                    <td style="max-width: 10px;">
                        <asp:Image runat="server" ImageUrl="https://cdn1.iconfinder.com/data/icons/Koloria-Icon-Set/30/Info.png" ImageAlign="Middle" /></td>
                    <td>
                        <p style="font-weight: bold;">Für Sie gibt es momentan keine offene Aufgaben.</p>
                    </td>
                </tr>
            </table>
                </div>
        </EmptyDataTemplate>
    </asp:ListView>

        protected string GetText(string key)
        {
            return "test";
        }

5.658 Beiträge seit 2006
vor 9 Jahren

Hi w1z4rd2003,

ich kann dein Problem nicht nachvollziehen. Eine Methode, die "Test" zurückgibt, ist nicht wirklich anschaulich, und ich kann auch nicht erkennen, wo du die in deinem Quellcode aufrufst.

Aber so wie es klingt, versuchst du, eine Art dynamische Webanwendung zu erstellen. Dafür ist WebForms aber nicht gemacht. Für solche Zwecke ist ASP.NET MVC wesentlich besser geeignet.

Christian

Weeks of programming can save you hours of planning