اضافه کردن یوزر کنترل به صورت پویا

چطور یک یوزر کنترل را به صورت پویا به صفحه اصلی اضافه کنیم .

در این مقالاله سعی دارم توضیح دهم که چطور میتوانیم یک یوزر کنترل را به صورت پویا به وب فرم اضافه کنیم . زیاد توضیح واضحات نمیدهم :

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

در مثال ما از یک td که به صورت runat=server است استفاده کرده ایم ، شما میتوایند از هرچیزی مثلا placeholder استفاده کنید :

<table cellpadding="0" align="center" cellspacing="0">
<tr>
<td
runat="server" id="MainTD">
</td>
</tr>
</table>

 

برای اینکه ببنید runat=server کجا استفاده شده آن را قرمز کردم ، متوجه id این td هم باشد id="MainTD" که لازم است آن را در کد بیهایند بالا PageLoad تعریف کنید به این صورت :

 

protected System.Web.UI.HtmlControls.HtmlTableCell MainTD;

 

خوب حالا میماند اضافه کردن کنترل به صفحه :

 

 

string pageStr ;
pageStr = Request.QueryString["PageID"];
Control ctrl;
ctrl = LoadControl(pageStr + ".ascx");
MainTD.Controls.Add(ctrl);

 

ساده بود نه ؟؟ مثلا میخواهید کنترلی با نام Test.ascx را لود کنید کافی است کوئری استرینگ شما چیزی باشد شبیه به این

.../page.aspx?PageID=text

 

گاهی داده اید سایتهایی را که صفحاتشان با عوض شدن کوئری استرینگ عوض میشود ؟؟ در این سایتها چنین تکنیکی روی صفحه default پیاده شده و هر یوزر کنترل نماینده یک صفحه از سایت است ! به همین سادگی !


was this article usful to you ?
by : Hossein Rooznamechi - on : 4/14/2007 - Visits : 612
result of survey
14 14
[send Your Comment]





[send Your Comment]