Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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# 如何将实际控件存储在列表中?_C#_Asp.net_List_Dynamic - Fatal编程技术网

C# 如何将实际控件存储在列表中?

C# 如何将实际控件存储在列表中?,c#,asp.net,list,dynamic,C#,Asp.net,List,Dynamic,长话短说,我希望获取动态加载的usercontrols,并将它们粘贴到引用已加载的实际对象的列表中。所以我可以进入列表并从usercontrol中提取结果。我想使用mycontrol.GetResult(),然后它将引用该控件并从已填写的表单中获取结果,结果将作为字符串返回。我不希望它初始化同一类型的新控件,因为那时我将无法接收结果。有什么建议吗 谢谢 只需创建一个控件列表: var controls = new List<Control>(); foreach(var contr

长话短说,我希望获取动态加载的usercontrols,并将它们粘贴到引用已加载的实际对象的列表中。所以我可以进入列表并从usercontrol中提取结果。我想使用mycontrol.GetResult(),然后它将引用该控件并从已填写的表单中获取结果,结果将作为字符串返回。我不希望它初始化同一类型的新控件,因为那时我将无法接收结果。有什么建议吗


谢谢

只需创建一个控件列表:

var controls = new List<Control>();

foreach(var control in Page.Controls)
{
    controls.Add(control);
}
var controls=newlist();
foreach(Page.Controls中的var控件)
{
控件。添加(控件);
}

然后,您可以根据需要使用该列表引用每个控件(这是一个简单的示例…填充列表的代码很可能更复杂)。

只需创建一个控件列表:

var controls = new List<Control>();

foreach(var control in Page.Controls)
{
    controls.Add(control);
}
var controls=newlist();
foreach(Page.Controls中的var控件)
{
控件。添加(控件);
}

然后,您可以根据需要使用该列表引用每个控件(这是一个简单的示例…填充列表的代码很可能会更复杂)。

谁以编程方式添加控件?页面还是用户控件?该组件可以做到这一点。否则,另一个技巧是假设用户控件动态加载其他用户控件。您可以为页面提供一个接口定义,比如具有列表类型的IDynamicControlHolder,并在动态控件(或其他地方)中执行


谁以编程方式添加控件?页面还是用户控件?该组件可以做到这一点。否则,另一个技巧是假设用户控件动态加载其他用户控件。您可以为页面提供一个接口定义,比如具有列表类型的IDynamicControlHolder,并在动态控件(或其他地方)中执行


因此,我已经创建了类似的代码,并将控件加载到列表中,但我不确定如何从放回对象的表单中获取结果。看到代码示例后,我意识到我已经在这样做了,所以必须有更好的方法来获得我想要的。我操纵了我现有的一个方法,现在当用户进入验证屏幕时,我使用它将结果加载到我的对象中。这很好,谢谢你为我确认我做得很好。

因此我已经创建了类似的代码,并将控件加载到列表中,但我不确定如何将表单的结果放回我的对象中。看到代码示例后,我意识到我已经在这样做了,所以必须有更好的方法来获得我想要的。我操纵了我现有的一个方法,现在当用户进入验证屏幕时,我使用它将结果加载到我的对象中。这很好,谢谢你帮我确认我做得对。

我有一个向导控件,它搜索目录并添加所有已删除的用户表单。因此,向导步骤是动态加载的,然后usercontrol被动态加载到向导步骤中。我已经有了一个列表,但它不包含控件,而只包含我为存储控件属性而创建的对象。“它不包含控件,而只包含对象”-我假设您所说的控件是指用户控件,而不是向导步骤。上面我给你的描述是一种自我注册的做事方式;只要页面实现了一个接口(需要返回一个名为DynamicControls的列表实例),OnLoad甚至OnInit中的用户控件就会自动注册。因此,向导步骤是动态加载的,然后usercontrol被动态加载到向导步骤中。我已经有了一个列表,但它不包含控件,而只包含我为存储控件属性而创建的对象。“它不包含控件,而只包含对象”-我假设您所说的控件是指用户控件,而不是向导步骤。上面我给你的描述是一种自我注册的做事方式;只要页面实现了一个接口(需要返回一个名为DynamicControls的列表实例),OnLoad甚至OnInit中的用户控件都会自动注册。