C# 单击gridview外部的按钮时,ASP.NET在gridview中获取文本框值

C# 单击gridview外部的按钮时,ASP.NET在gridview中获取文本框值,c#,asp.net,C#,Asp.net,我有gridview加载动态文本框,这段代码是gridview_RowDataBound事件时创建动态文本框: TextBox txtCountry = new TextBox(); txtCountry.ID = "txtDisplayOrder"; txtCountry.Text = (e.Row.DataItem as DataRowView).Row["DISPORDR"].ToString(); e.Row.Cells[9].Controls.Add(txtCountry); 运行此

我有gridview加载动态文本框,这段代码是gridview_RowDataBound事件时创建动态文本框:

TextBox txtCountry = new TextBox();
txtCountry.ID = "txtDisplayOrder";
txtCountry.Text = (e.Row.DataItem as DataRowView).Row["DISPORDR"].ToString();
e.Row.Cells[9].Controls.Add(txtCountry);
运行此事件后,gridview.Rows[0]。单元格[9]。Controls.Count为1

我有一个LinkedButton,它放在gridview外部,当按钮被单击时,我在服务器中捕捉到它,但当我试图从gridview中的文本框中获取值时。行[0]。单元格[9]。控件。计数为0,我无法获取值


我需要您的帮助

不要动态添加/删除控件,这是一种糟糕的做法。当您单击刚刚找到控件的按钮并使可见性
为真时,始终在网格中添加控件并设置控件的可见性
FALSE
。在这种情况下,你不会有这个问题


服务器端的控件
Visible=false
在客户端根本不呈现。这是最好的方法。

如果在代码中添加控件,则需要在回发时重新添加它,然后才能检索该值。查看您发布的代码,不清楚为什么yopu会这样做,而不仅仅是将其放在标记和数据绑定中。如果我这样做,我如何从用户输入中检索新值?如果您添加具有正确id的正确类型的控件,我想在init事件中,然后,您可以在页面生命周期的后面检索该值。您可以向我展示更多关于此的信息吗?如果我编写函数来加载回发中的数据,我会覆盖它的数据,或者我误解了您通常不会在回发中重新绑定数据正是因为这个原因,您的数据绑定代码位于
If(!IsPostback)
块中,我不会说这是一种不好的做法,当您在编译时不知道要在页面上显示的控件的数量和类型时,它非常有用。