如何在窗体上添加运行时新用户控件 [英] How to Add Runtime New User Control on Form

查看:91
本文介绍了如何在窗体上添加运行时新用户控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我创建了一个用户控件.名为"Movable_Text" 的Ascx文件.

Add_contol_button点击时,我必须在主页上添加用户控件.

为此,我的按钮点击编码为

Hi ,

I have created one user control. Ascx file named "Movable_Text".

On Add_contol_button click i have to add user control on my master page.

For this my button click coding is

public static int li_Count = 0;
   protected void Add_contol_button_Click(object sender, EventArgs e)
   {
       try
       {
           Movable_Text mt = new Movable_Text();
           mt.ID = Convert.ToString(li_Count);
           mt = LoadControl("Movable_Text.ascx") as Movable_Text;
           //mt.Controls.Add(LoadControl("Movable_Text.ascx"));
           mt.EnableViewState = false;
           CPH_Master.Controls.Add(mt);
           li_Count++;
       }
       catch { }
   }


CPH_Master是母版页的内容占位符
在这种情况下,我的表单上只会添加一个控件.当我再次单击Add_contol_button两次时,仅出现一个用户控件.

我的需要是每次单击Add_contol_button都会在表单上创建新的用户控件.前任.如果我单击5次,则5个用户控件将出现在窗体上.

请为我建议实现此


CPH_Master is master page''s content place holders
In this case only one control is added on my form. When i clicked twice on Add_contol_button again only one user control appears.

My need is each time clicking on Add_contol_button new user control is created on form. Ex. If i clicked 5 times then 5 User control appears on form.

Please please suggest me proper way for achieving this

推荐答案

您的控件不存在的正确方法.每次回发时都需要添加它们,否则它们会消失.此外,它们将没有viewstate,因此您将无法从它们获取值.需要在page_load之前创建它们,以使viewstate起作用.
Your controls don''t exist. You need to add them all every time you postback, or they disappear. Also, they will not have viewstate, so you won''t be able to get values from them. They need to be created before page_load for viewstate to work.


您可以检查以下内容以供参考:
动态添加和删除用户控件 [在ASP.NET页中动态加载Web用户控件 [根据用户的操作动态生成控件 [
You can check the following for references:
Dynamically add and remove user controls[^]
Loading Web User Controls Dynamically in ASP.NET Pages[^]
Dynamic generate control according to the user''s operation[^]


这篇关于如何在窗体上添加运行时新用户控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆