Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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#我添加到页面的Foreach用户控件_C# - Fatal编程技术网

C#我添加到页面的Foreach用户控件

C#我添加到页面的Foreach用户控件,c#,C#,我有这个密码: protected void ddlTemplate_SelectedIndexChanged(object sender, EventArgs e) { Template t = new Template(); t.LoadById(Convert.ToInt32(ddlTemplate.SelectedItem.Value)); foreach (Widget w in t.TemplateWidgets) { User

我有这个密码:

    protected void ddlTemplate_SelectedIndexChanged(object sender, EventArgs e)
{
    Template t = new Template();
    t.LoadById(Convert.ToInt32(ddlTemplate.SelectedItem.Value));
    foreach (Widget w in t.TemplateWidgets)
    {
        UserControls_Widget ucWidget = (UserControls_Widget)LoadControl("~/UserControls/ucWidget.ascx");
        ucWidget.WidgetTitle = w.Name;
        ucWidget.Parameters = w.Parameters;
        pnlWidgets.Controls.Add(ucWidget);
    }

}
protected void lnkSubmit_Click(object sender, EventArgs e)
{

    foreach (Control cc in pnlWidgets.Controls)
    {

    }
}
基本上,我想在DDLMetplate\u SelectedIndexChanged事件中查看我添加到页面的小部件。所以问题是如何获得我添加的用户控件。

类似这样的东西

foreach(Control cc in pnlWidgets.Controls)
{
    UserControls_Widget widget = cc as UserControls_Widget;
    if (widget == null)
        continue;
    // Do stuff with widget
}

这就是你要找的东西吗?

你可以将你的用户控件添加到
列表中,并循环浏览它,而不是循环浏览页面上的所有控件。

否。如果小部件为空,则继续循环的下一次迭代。当小部件引用某些内容时,所有其他路径都会运行。是的,必须在事件之间保存到会话。我会这样做的。是的,我就是这么做的,如果是回发,从会话加载,如果不是,保存到会话。