Как манипулировать значением в шаблоне элемента Listview, возвращаемым sqldatasource? - PullRequest
1 голос
/ 17 декабря 2009

У меня есть представление списка и метка в ItemTemplate, я установил текст

<asp:Label id="GreenDate" runat="server" Text='<%# Eval("NewsDate") %>'></asp:Label>

но я хочу манипулировать значением, возвращаемым источником данных, который является Eval ("NewsDate"), и отображать новое значение в метке. в каком случае я могу получить доступ к этому значению и как?

Ответы [ 2 ]

1 голос
/ 06 февраля 2011
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            HtmlTableCell lblpwdHeader = (HtmlTableCell)this.ListView1.FindControl("tdColumn");
            HtmlTableCell tdPwdData = (HtmlTableCell)e.Item.FindControl("tdPwd");

            if (lblpwdHeader != null)
            {
                lblpwdHeader.Visible = false;
            }
            if (tdPwdData != null)
            {
                tdPwdData.Visible = false;
            }
        }
    }




============

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="ListView1_ItemDataBound">
            <LayoutTemplate>
                <table border="0" cellpadding="1" width="50%">
                    <tr style="background-color: #E5E5FE">
                        <th style="width: 30%">
                            <asp:LinkButton ID="lnkId" runat="server" CommandName="Sort" CommandArgument="ID">Id</asp:LinkButton>
                        </th>
                        <th style="width: 40%">
                            <asp:LinkButton ID="lnkName" runat="server" CommandName="Sort" CommandArgument="UserName">Name</asp:LinkButton>
                        </th>
                        <th id="tdColumn" runat="server" style="width: 30%">
                            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Sort" CommandArgument="Password">Password</asp:LinkButton>
                        </th>
                    </tr>
                    <tr id="itemPlaceholder" runat="server">
                    </tr>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <table border="0" cellpadding="1" cellspacing="2" width="50%">
                    <tr>
                        <td style="width: 30%; text-align: center">
                            <asp:Label runat="server" ID="lblId"><%#Eval("ID") %></asp:Label>
                        </td>
                        <td style="width: 40%; text-align: center">
                            <asp:Label runat="server" ID="lblName"><%#Eval("UserName")%></asp:Label>
                        </td>
                        <td id="tdPwd" runat="server" style="width: 30%; text-align: center">
                            <asp:Label ID="lblPwd" runat="server"><%#Eval("Password")%></asp:Label>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
            <AlternatingItemTemplate>
                <table border="0" cellpadding="1" cellspacing="2" width="50%">
                    <tr>
                        <td style="width: 30%; text-align: center">
                            <asp:Label runat="server" ID="lblId"><%#Eval("ID") %></asp:Label>
                        </td>
                        <td style="width: 40%; text-align: center">
                            <asp:Label runat="server" ID="lblName"><%#Eval("UserName")%></asp:Label>
                        </td>
                        <td id="tdPwd" runat="server" style="width: 30%; text-align: center">
                            <asp:Label ID="lblPwd" runat="server"><%#Eval("Password")%></asp:Label>
                        </td>
                    </tr>
                </table>
            </AlternatingItemTemplate>
        </asp:ListView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestAshokConnectionString %>"
            SelectCommand="SELECT * FROM [Users]"></asp:SqlDataSource>
0 голосов
/ 17 декабря 2009

Используйте следующее событие: ItemDataBound и используйте DataBinder.Eval(e.Item.DataItem, "NewsDate"), что эквивалентно этому <%# Eval("NewsDate") %>.

Вот синтаксис для получения элемента управления Label:

Label lbl = (Label) Item.Controls.FindControlByID("GreenDate"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...