Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Asp.net 如何从其ID检索ViewState中的TextBox值_Asp.net - Fatal编程技术网

Asp.net 如何从其ID检索ViewState中的TextBox值

Asp.net 如何从其ID检索ViewState中的TextBox值,asp.net,Asp.net,我正在ASP.NET页面中以编程方式构建许多文本框,单击按钮后,我想处理这些值,是否有可能从ViewState中的ID检索它们 这是我的密码: aspx中表格的参考: <asp:Table ID="Distances" runat="server" ViewStateMode="Inherit"></asp:Table> 默认情况下,ViewState处于启用状态,因此在回发过程中保留Text属性应该已经起作用了 例如,您可以使用FindControl(“TextBox

我正在ASP.NET页面中以编程方式构建许多文本框,单击按钮后,我想处理这些值,是否有可能从ViewState中的ID检索它们

这是我的密码:

aspx中表格的参考:

<asp:Table ID="Distances" runat="server" ViewStateMode="Inherit"></asp:Table>

默认情况下,
ViewState
处于启用状态,因此在回发过程中保留
Text
属性应该已经起作用了

例如,您可以使用
FindControl(“TextBoxID”)
或枚举它们以获取对
TextBox
的引用(假设它们被添加到类似
面板的容器控件中):

我假设您没有在回发上重新创建那些
文本框。因此,您需要使用与以前相同的ID,并在页面生命周期的最新阶段在
Page\u Load
中重新创建它们。因此,您可以在事件中创建它们,但不能在事件中重新创建它们

您应该在动态创建代码的地方显示代码,这样我就可以更具体一些


ViewState
在默认情况下处于启用状态,因此在回发过程中保留
Text
属性应该已经起作用了

例如,您可以使用
FindControl(“TextBoxID”)
或枚举它们以获取对
TextBox
的引用(假设它们被添加到类似
面板的容器控件中):

我假设您没有在回发上重新创建那些
文本框。因此,您需要使用与以前相同的ID,并在页面生命周期的最新阶段在
Page\u Load
中重新创建它们。因此,您可以在事件中创建它们,但不能在事件中重新创建它们

您应该在动态创建代码的地方显示代码,这样我就可以更具体一些


我刚刚完成:我的问题是,我的表行在操作过程中丢失,因此我不知道文本框在哪里;)我刚刚完成了:我的问题是,我的表行在操作过程中丢失了,因此我不知道文本框在哪里;)
Distances.Rows[j].Cells[i].Controls.Add(CreateTB(distance.ToString(), (i + j * rows).ToString(), false));

    protected TextBox CreateTB(string text, string id, bool ebanled = true)
    {
        TextBox tb = new TextBox() { Text = text, ID = id, Enabled = ebanled};
        tb.TextChanged += new EventHandler(OnTBChanged);
        return tb;
    }
foreach(TextBox txt in MyPanel.Controls.OfType<TextBox>())
{
    String text = txt.Text;
}
TextBox txt = (TextBox)MyPanel.FindControl("TextBox1")
String text = txt.Text;