Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET。是否可以在ItemDataBound上找到动态添加的WebControl?_C#_Asp.net_Data Binding - Fatal编程技术网

C# ASP.NET。是否可以在ItemDataBound上找到动态添加的WebControl?

C# ASP.NET。是否可以在ItemDataBound上找到动态添加的WebControl?,c#,asp.net,data-binding,C#,Asp.net,Data Binding,我有DataList控件: <asp:DataList ID="DataList1" runat="server" RepeatColumns="1" OnItemDataBound="dlRequestLayout_ItemDataBound" > <ItemTemplate> <asp:Label ID="lbl" Width="150px" runat="server" Text='<%# Eval("LabelText") %&

我有
DataList
控件:

<asp:DataList ID="DataList1" runat="server" RepeatColumns="1" OnItemDataBound="dlRequestLayout_ItemDataBound" >
    <ItemTemplate>
        <asp:Label ID="lbl" Width="150px" runat="server" Text='<%# Eval("LabelText") %>' />
    </ItemTemplate>
</asp:DataList>
PostBack
上,我正在搜索
TextBox
,但在
DataList
中只能找到标签

是因为生命周期吗?如何获取特定文本框的值

多谢各位

是因为生命周期吗

是的-本质上,您需要在回发时重新添加控件,以便后续方法/处理程序可以使用该控件


另一种方法是将此文本框作为网格的一部分,并使用一些Javascript显示/隐藏文本框-这样,它将在回发时可用,因为它不是动态添加的。

尝试向文本框添加ID。。。不确定这样做是否奏效,只是想一想你是在绑定数据吗?仅在第一页加载时,或在每次回发时?单击按钮。所以有一次。我应该在每次回发时都这样做吗?你的意思是,我必须在每次回发时调用DataBind()?我的意思是,你需要在回发时重新添加额外的控件,以便它在回发中可用-这样你就可以在你想阅读内容的任何地方访问它。通过Javascript可以更容易地显示/隐藏它-无需在回发时重新创建文本框。更改后,您可以重新绑定网格,以便用户可以看到更改。谢谢。。。我正在添加一组控件并仅显示必需的。
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            WebControl control;
            if (_textbox)
            {
                control = new TextBox();
            }
            e.Item.Controls.Add(control);
        }
    }