Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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的onClick中重新加载Post数据_Asp.net_Dynamic_Controls_Postback - Fatal编程技术网

在asp.net的onClick中重新加载Post数据

在asp.net的onClick中重新加载Post数据,asp.net,dynamic,controls,postback,Asp.net,Dynamic,Controls,Postback,代码被简化以使其更清晰 说明 我正在编写一个自定义控件,它使用Controls.Add()来添加它想要的所有子控件 例如,我的控件称为“大量文本框”,我添加了最少数量的文本框,并提供了一个按钮(Controls.add(button)),上面写着“添加新文本框” 控件呈现得很好。我点击按钮,OnLoad(EventArgs e)会重新创建子控件和asp.net的魔力,找到我发布的所有数据并填充文本框,以便我可以阅读它们 btnAddNew_Click(objectsender,EventArgs

代码被简化以使其更清晰

说明

我正在编写一个自定义控件,它使用Controls.Add()来添加它想要的所有子控件

例如,我的控件称为“大量文本框”,我添加了最少数量的文本框,并提供了一个按钮(Controls.add(button)),上面写着“添加新文本框”

控件呈现得很好。我点击按钮,OnLoad(EventArgs e)会重新创建子控件和asp.net的魔力,找到我发布的所有数据并填充文本框,以便我可以阅读它们

btnAddNew_Click(objectsender,EventArgs e)被调用以添加新的文本框

起初我尝试了Controls.Add(textbox),但这将文本框放在底部的Add按钮下

我可以删除按钮,添加文本框,然后重新添加按钮,但我不想这样做,因为在实际情况下并不简单(许多相关的按钮和控件交织在一起)

我想做的是: 文本框的数量显示++; 控件。清除(); OnLoad(新事件参数())

这将擦除控件以重新开始,并使用一个新控件重新创建它

问题

因为postdata已经加载,页面被重新绘制,但是字段中的所有数据都丢失了。 我真的需要一个函数“LoadPostData()”,它遍历所有子控件并重新加载它们的post数据

对我来说,post数据仍然在内存中(我希望如此),并且Pass2上的所有控件都具有与Pass1(以及先前发布的表单)相同的唯一ID


有人看到过类似的情况吗?

听起来问题只是简单的控件放置。如果控件被添加到您想要的位置(按钮上方),则无需擦除窗体并重新生成它,对吗


我建议在用户控件中添加一些面板或占位符控件,以定义其布局。这样,您的文本框就可以添加到面板中,而不是添加到整个用户控件中,您的布局将被保留,控件将位于您想要的位置。

问题是,我在每个文本框旁边都有一个“删除此文本框”按钮,在用户点击“保存”之前,我不想向数据库写入任何内容,因为我希望很多人放弃他们的输入。我可以检查每个控件,并在每次删除或添加时尝试更新它(有两种类型的删除,一种用于数据库中的控件,因为我必须知道如何在保存时删除它们,另一种用于从不保存的新控件)。问题是我的删除按钮和添加按钮需要重新实现onload所做的一些逻辑。我担心虫子。