Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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表动态添加列-回发_Asp.net_Viewstate_Xmltable - Fatal编程技术网

向ASP.NET表动态添加列-回发

向ASP.NET表动态添加列-回发,asp.net,viewstate,xmltable,Asp.net,Viewstate,Xmltable,我在我的aspx页面上有一个asp.net表控件,包含 net表格行对象 我的目的是通过单击一些图像按钮来动态地将列添加到此表中。 该表由多个TableRow对象组成,默认情况下,每个对象都包含一个带有某些标签的ASP.NET TableCell。我试图通过单击image按钮来添加列,假设是向行的cell集合添加一个新的单元格。例如,如果要添加包含特定行下拉列表的列,我会: DropDownList ddl = new DropDownList(); TableCell

我在我的aspx页面上有一个asp.net表控件,包含 net表格行对象

我的目的是通过单击一些图像按钮来动态地将列添加到此表中。 该表由多个TableRow对象组成,默认情况下,每个对象都包含一个带有某些标签的ASP.NET TableCell。我试图通过单击image按钮来添加列,假设是向行的cell集合添加一个新的单元格。例如,如果要添加包含特定行下拉列表的列,我会:

DropDownList ddl = new DropDownList();
            TableCell tableCell= new TableCell();
            tableCell.Controls.Add(ddl);
            tableRow.Cells.Add(tableCell);
问题是,我永远无法超越一个添加的列,因为每当我单击我创建的asp.net“AddColumn”按钮时,在我到达生命中某个地方的处理程序之前 循环TableRow对象及其单元格集合。 我曾考虑过在会话中保存行对象的副本,但我想不起来 在正确的时间点进行保存

不管怎么说,asp.net不应该让一切都保持在viewstate中吗?请帮助并提供解决方案。我完全糊涂了

ASPX btw看起来像这样:

<asp:TableRow runat="server" ID="RequestorEmailRow">
                        <asp:TableCell runat="server" Text="...">
                        </asp:TableCell>
                    </asp:TableRow>


ASP.NET viewstate仅存储控件的值,而不存储控件本身的存在。viewstate在
Page\u Init
Page\u Load
之间反序列化。如果动态添加
,ASP.NET viewstate仅存储控件的值,而不存储控件本身的存在。viewstate在
Page\u Init
Page\u Load
之间反序列化。如果动态添加
,则必须在每次回发时最新加载页面时重新创建已添加的TableCell。在ViewState中保存创建的单元格数。为了避免DropDownList的viewstate和事件处理问题,您还必须确保它们在每次回发时获得相同的ID。您必须在每次回发时以最新的页面加载重新创建已添加的TableCell。在ViewState中保存创建的单元格数。为了避免DropDownList的viewstate和事件处理问题,您还必须确保它们在每次回发时都获得相同的ID。page_init解决方案听起来不错,但您能否详细说明我应该做什么?@user181218:有关动态控制方式的更多信息,请参阅。使用它是一种痛苦;如果我是你,我会改为查看GridView控件。page_init解决方案听起来不错,但你能详细说明我应该做什么吗?@user181218:有关动态控件方式的更多信息,请参阅。使用它是一种痛苦;如果我是你,我会改为签出GridView控件。