Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 将带有控件的整个布局从一个aspx页面复制到另一个页面-动态移动控件-ASP.Net_C#_Asp.net_User Controls_Dynamic - Fatal编程技术网

C# 将带有控件的整个布局从一个aspx页面复制到另一个页面-动态移动控件-ASP.Net

C# 将带有控件的整个布局从一个aspx页面复制到另一个页面-动态移动控件-ASP.Net,c#,asp.net,user-controls,dynamic,C#,Asp.net,User Controls,Dynamic,这是我的问题 我有一个主页main.aspx。此页面有一个“设置”按钮。单击后,我会在弹出窗口中加载另一个aspx页面settigns.aspx。现在在settings.aspx中,我允许用户动态添加控件。例如,用户可以创建5个文本框。当他把它保存在那里时,我需要把那个控件放到main.aspx 所以我需要将所有控件从一个页面移动到另一个页面。我想不出有用户控件的解决方案 对此有何想法?要在页面之间进行通信,必须将控件集合存储在会话、缓存或其他内容中,以便其他页面可以使用它。这可能行不通。您需要

这是我的问题

我有一个主页main.aspx。此页面有一个“设置”按钮。单击后,我会在弹出窗口中加载另一个aspx页面settigns.aspx。现在在settings.aspx中,我允许用户动态添加控件。例如,用户可以创建5个文本框。当他把它保存在那里时,我需要把那个控件放到main.aspx

所以我需要将所有控件从一个页面移动到另一个页面。我想不出有用户控件的解决方案


对此有何想法?

要在页面之间进行通信,必须将控件集合存储在会话、缓存或其他内容中,以便其他页面可以使用它。这可能行不通。您需要做的是在另一个页面上重新创建UI。因此,为页面提供文本框和值的数量,并让第二个页面重新创建它


将此构建逻辑放在用户控件中将非常有帮助,或者找到一种方法将它们保持在同一页面上,以利用这两种功能。

将控件集合保持在会话中或以任何方式有害吗?控件是否绑定到页面实例?事实上,我刚刚尝试过,效果很好。但我有点不情愿,因为我担心在会话中存储控件集合会有任何负面影响。我同意。。。。会话是每个用户的,所以您必须小心,因为这可能会很快为许多用户最大化资源。如果您想使用这种方法,您需要做的是将它们复制到会话中,当您进入下一页时,立即从会话中获取它们,并将会话[“控件”]=null;把它们擦干净。嗯,又卡住了。我的会话模式是“SQL Server”,因此控件不可序列化。那可能不起作用。。。考虑将它们存储在缓存中,并将用户ID或当前会话ID追加到缓存密钥以使其唯一。