首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

向动态加载的UserControl控件传接参数,用该参数初始化控件中的值

2012-08-19 
向动态加载的UserControl控件传递参数,用该参数初始化控件中的值代码如下:ASPX页面中一个PlaceHolder控件

向动态加载的UserControl控件传递参数,用该参数初始化控件中的值
代码如下:
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

热点排行