代码之家  ›  专栏  ›  技术社区  ›  Marcus

数据列表中的动态值作为标签

  •  0
  • Marcus  · 技术社区  · 7 年前

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
        <asp:DataList ID="DataList1" runat="server" DataKeyField="TempID" DataSourceID="SqlDataSource1">
            <ItemTemplate>
                User:
                <asp:Label ID="UserLabel" runat="server" Text='<%# Eval("User") %>' />
                <br />
                Time:
                <asp:Label ID="TimeLabel" runat="server" Text='<%# Eval("Time") %>' />
                <br />
                ActualTime:
                <asp:Label ID="ActualTimeLabel" runat="server" Text='<%# Eval("ActualTime") %>' />
                <br />
                TempID:
                <asp:Label ID="Label2" runat="server" Text='<%# Eval("TempID") %>' />
                <br />
    



    以下是背后的代码:

     protected void Page_Load(object sender, EventArgs e)
    {
    
    }
    void BindList()
    {
        DataList1.DataSource = DataList1;
        DataList1.DataBind();
    }
    public void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        DataList1.SelectedIndex = e.Item.ItemIndex;
        BindList();
        Label1.Text = "You selected: " +
                      ((Label)DataList1.SelectedItem.FindControl("ActualTimeLabel")).Text;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    
        int count = DataList1.Items.Count;
        for (int i = 0; i < count; i++)
        {
            Label lbl = DataList1.Items[0].FindControl("ActualTimeLabel") as Label;
            string labeltext = lbl.Text;
    
            TextBox1.Text = labeltext;
        }
    }
    
    
    protected void Button2_Click(object sender, EventArgs e)
    {
    
    }
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   youpilat13 Ty Petrice    7 年前

    添加 CommandName="Selected" 属性并在中使用它 ItemCommand 事件如下:

    public void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if(e.CommandName == "Selected")
        {
             Label lbl = e.item.FinControl("ActualTimeLabel") as Label;
             Label1.Text = "You selected: " + lbl.Text;
        }
    }