如何在asp.net中更改lable的listview中的值

时间:2013-07-25 16:40:56

标签: asp.net c#-4.0 listview label

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

<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#。希望有人有这样做的解决方案请让我知道我该怎么做并与我分享你的代码

谢谢

1 个答案:

答案 0 :(得分: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