PDA

View Full Version : حرفه ای: تولید داینامیک کنترل از codebehind طوری که event های آن کار کند



m_master22
پنج شنبه 03 دی 1388, 12:11 عصر
با سلام خدمت دوستان عزیز .
من می خواهم از داخل کد C#‎ کنترلی را به صورت داینامیک تولید کنم .
از PlaceHolder استفاده کردم و به property آن add کردم . تا اینجاش مشکلی نیست .
ولی در این حالت نمیشه از event های این کنترل استفتده نمود .
به دلیل اینکه داخل html کدهای مربوط برای فراخوانی event تولید نمیشه .
در ضمن من نمیخواهم کد javascript ای که ASP.NET آن را تولید می کنه را خودم دستی تولید کنم.
آیا راهی وجود داره که ما بتوانیم تگ های ASP.NET را dynamic تولید کنیم و آن تگ های تولیدی ما
توسط compiler مثل یک کنترل عادی پردازش بشن ؟ (با این کار خود .net با مشاهده ی نام event کدهای مربوط به javascript را تولید می کنه)

amirali_asp_net
پنج شنبه 03 دی 1388, 14:17 عصر
ساخت رویداد نیز امکان پذیر است کافیست رویداد مورد نظر را تعریف کنید سپس هنگام ساخت کنترل به ، مشخصه های Event کنترل مورد نظرت رو هم مقدار دهی کنی مثلا برای کلیک بر روی یک کنترلت می توانی مانند زیر عمل کنی



YourControlName.OnClick += YourImpelimentedEvent;



بهتر است کنترل دارای ViewState باشد ،برای مطمئن شدن بهتر است کنترل خودت رو قبل از Page_load بسازی مثلا OnInit که این مشکل به وجود نیاید.

PostBack کنترلت را نیزtrue قرار بده



البته سوالت چون به صورت کلی بود کلی جواب دادم اگر روی رویداد نوشتن و یا کنترل خاصی مشکلی بود بازگو کن که کامل تر توضیح بدهم