1

您好,我需要列表视图控件的帮助,下面是列表视图代码:

<asp:ListView runat="server" ID="ListView1" 
         GroupItemCount="3"   OnItemCommand="ListView1_ItemCommand">
                    <LayoutTemplate>
                        <div>
                            <asp:PlaceHolder runat="server" 
                           ID="groupPlaceHolder" />
                        </div>
                    </LayoutTemplate>
                    <GroupTemplate>
                        <div style="clear: both;">
                            <asp:PlaceHolder runat="server" 
                                  ID="itemPlaceHolder" />
                        </div>
                    </GroupTemplate>
                    <ItemTemplate>
                        <div class="store-l">
                            <p class="exe-title">
                                <asp:Label ID="Label1" runat="server">
                             </asp:Label>  </p>
                            <center> 
            <a href="View.aspx?Iv=<%# Eval("Id") %>"><asp:Image ID="Image2" 
                  ImageUrl='<%# Eval("ImageUrl")%>' runat="server" 
                               Height="175" Width="280"></asp:Image></a>
     </center>
                            <p class="exe-title">
                                <%# Eval("Description")%>
                       <a href="ViewResult.aspx?Iv=<%# Eval("Id") %>">View Result</a>
                            </p>                           
                        </div>
                    </ItemTemplate>
                    <GroupSeparatorTemplate>
                        <div style="clear: both"/>
                    </GroupSeparatorTemplate>
                    <EmptyDataTemplate>
                    </EmptyDataTemplate>
                </asp:ListView>

有 Label1 我想通过代码更改它的值。有 12 个固定值,我需要添加这 12 个值,如下所示:

1. day 1 
2. day two 
3. day three 
4. day four 
5. day fiv etc.

我想使用代码在 lable1 中添加这个值。编程语言是c#。希望有人有解决方案请让我知道我该怎么做并与我分享代码

谢谢

4

1 回答 1

0

您的基本方法应如下所示:

在 ListView 的 ItemDataBound 事件处理程序中,检查它是什么类型的模板。如果是 ItemTemplate,则使用 e.Item.FindControl("Label1") 找到控件 Label1 并将其转换为 Label 类型。然后你可以自由地用它做你想做的事。因此,您可以将其分配给 Label 变量。像这样的东西应该工作:

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    Label Label1 = (Label)e.Item.FindControl("Label1");

    Label1.Text = "day 1"; //do whatever you want with the Label here
}

此外,您必须在声明性标记或 Page_Load 或其他事件中将 ListView 与此事件处理程序挂钩。如果您在声明性标记中执行此操作,只需将以下属性添加到您的 ListView 标记:

OnItemDataBound="ListView1_ItemDataBound"

希望有帮助。

查看此链接以获取示例:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemdatabound.aspx

于 2013-07-25T16:56:44.987 回答