ورود

View Full Version : سوال: خطا در ارسال مقدار به Web User Control و نمایش ان در کنترل PlaceHolder



rezaiy.ali
یک شنبه 01 آبان 1390, 14:36 عصر
با سلام و خسته نباشید به دوستان عزیز
دوستان من یه Web User Contro دارم که قصد دارم با یه کلاس اون رو در کنترل PlaceHolder نمایش بدم
این کدی هستش که در کلاس برای فرا خوانی کنترلم نوشتم

public static void Show(ref PlaceHolder obj1 ,string message)
{
sample obj = new sample();
System.Web.UI.Control us = new System.Web.UI.Control();
Page page = new Page();

obj1.Controls.Add(obj);
}


و این هم کد کنترل هستش

public partial class sample : System.Web.UI.UserControl
{
public string message { get; set; }

public sample(string str) { message = str; }

protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = message ;
}
}


اما زمانی که اجرا میکنم در رویداد لود کنترل از لیبل خطا میگیره و خطاش هم اینه
Object reference not set to an instance of an object.

نمی دونم مشکل کجاست. کنترل لیبل در وب یوزر کنترلم هست

Z_Bagheri
یک شنبه 01 آبان 1390, 15:18 عصر
باید یک place holder به صفحه ای که می خواهید userControl در اون نمایش داده بشه اضافه کنید و مثلا در رویداد فرم لود کد زیر رو وارد کنید
placeHolder.Controls.Add(LoadControl("~/Samlpe.ascx"));

rezaiy.ali
دوشنبه 02 آبان 1390, 09:46 صبح
کسی از دوستان پیشنهاده دیگه ای نداره؟

prgakbarzadeh
یک شنبه 16 بهمن 1390, 20:28 عصر
Control c1 = LoadControl("~/UsControls/uContAdminEdit.ascx");

c1.ID = UsNewname;

Page.Controls.Add(c1);

PlaceHolder1.Controls.Add(c1);