PDA

View Full Version : programmaticly loading user control



exlord
سه شنبه 16 شهریور 1389, 19:09 عصر
من یه user control دارم ... وقتی که به صورت دستی به صفحه اضافه میکنم بدون مشکل کار میکنه ... وقتی با کد اضافه میکنم اگه تو page_load اضافه کنم بازم مشکلی نداره ولی وقتی تو button_click اضافه میکنم اصلا کار نمیکنه ..

Himalaya
سه شنبه 16 شهریور 1389, 19:47 عصر
از این استفاده کن.


public void LoadUserControl(string controlName)
{
Panel1.Controls.Clear();
string userControlID = controlName.Split('.')[0];
Control targetControl = Panel1.FindControl(userControlID);
if (Object.Equals(targetControl, null))
{
UserControl userControl = (UserControl)this.LoadControl("~/UC/" + controlName);
userControl.ID = userControlID.Replace("/", "").Replace("~", "");
this.Panel1.Controls.Add(userControl);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
LoadUserControl("Control.ascx");
}

exlord
چهارشنبه 17 شهریور 1389, 10:49 صبح
تائثیری نداشت ...... این کد هم فقط یه ID اضافه میکنه دیگه کاری نمیکنه که ...

Himalaya
چهارشنبه 17 شهریور 1389, 12:31 عصر
من عادت ندارم کدی رو تست نکرده بزارم اینجا. وقتی کد میزارم حتما تستش کردم. حالا برو ببین ایراد کارت کجاس که نمیتونی با این کد یه یوزر کنترل رو تو صفحه لود کنی