向动态加载的UserControl控件传接参数,用该参数初始化控件中的值
向动态加载的UserControl控件传递参数,用该参数初始化控件中的值
代码如下:
ASPX页面中一个PlaceHolder控件和一个Button控件
CS代码:
test_2.ascx代码
目标:点击Button时,实现动态加载UserControl,
问题:想要在动态加载UserControl的时候向UserControl传递参数,并初始化UserControl控件中的变量,该变量为string或其他内置类型,请问怎么实现?例,初始化test_2.ascx控件中str字符串;
需要代码(伪代码)和思路,先在此谢谢了…………,有解决问题的代码另外加分
------解决方案--------------------
上面的代码放到用户控件中,然后你就可以在加载用户控件后给Str进行赋值。
------解决方案--------------------
http://www.cnblogs.com/lwjacky/archive/2006/09/29/518022.html
代码如下:
ASPX页面中一个PlaceHolder控件和一个Button控件
CS代码:
- C# code
public partial class _Default : System.Web.UI.Page { protected Control ctl; string str1; protected void Page_Load(object sender, EventArgs e) { if(IsPostBack) { if (Session["System"] != null) str1 = Session["System"].ToString(); if (ViewState["isLoadControl"] != null && ((bool)ViewState["isLoadControl"]))//再次加载 { this.ctl = this.LoadControl(str1);//加载控件 this.ctl.ID = "TEST"; this.PlaceHolder1.Controls.Add(this.ctl); //在页面上呈现 } } } protected void Button1_Click(object sender, EventArgs e) { BlindHolder("test/test_2.ascx"); } public void BlindHolder(string str) { PlaceHolder1.Controls.Clear(); if (this.PlaceHolder1.Controls.Count == 0) //第一次加载 { this.ctl = this.LoadControl(str); this.ctl.ID = "TEST"; this.PlaceHolder1.Controls.Add(this.ctl); } ViewState["isLoadControl"] = true; Session["System"] = str; } }
test_2.ascx代码
- C# code
public partial class test_test_2 : System.Web.UI.UserControl { string str; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Label1.Text = "TEST2测试成功!"; } }
目标:点击Button时,实现动态加载UserControl,
问题:想要在动态加载UserControl的时候向UserControl传递参数,并初始化UserControl控件中的变量,该变量为string或其他内置类型,请问怎么实现?例,初始化test_2.ascx控件中str字符串;
需要代码(伪代码)和思路,先在此谢谢了…………,有解决问题的代码另外加分
------解决方案--------------------
上面的代码放到用户控件中,然后你就可以在加载用户控件后给Str进行赋值。
------解决方案--------------------
http://www.cnblogs.com/lwjacky/archive/2006/09/29/518022.html