PDA

View Full Version : آموزش: دانلود کنید! سرور کنترل پنل متحرک با قابلیت حفظ موقعیت پس از درخواست Ajax --- AloneServerControl



alonemm
یک شنبه 03 اردیبهشت 1391, 15:42 عصر
باسلام:


مقدمه:
در یک پروژه نیاز داشتم که یک پنل متحرل روی صفحه داشته باشم که بتونم یک سری کنترل و یا هرچیزی رو داخلش بریزم و روی صفحه حرکت بدم.

پس از ساخت این پنل به کمک Jquery یک مشکل بوجود امد که پس از اجرای دستورات Ajax پنل به جای اولش برمیگشت.

چند کامپوننت هم دیدم که همین مشکل رو داشتند.

سپس تصمیم گرفتم یک سرور کنترل بسازم که هر وقت خواستم در هرجا ازش استفاده کنم و مشکل موقعیت هم با یک تابع توسط JS حل کردم.


نحوه استفاده از AloneServerControlMovablePanel:

1-فیل Rar رو دانلود کنید و از حالت فشرده خارج نمایید.
2-در پروژه خود روی TolBox راست کلیک کنید و گزینه ChooseItems... رو بزنید.
3- از کادر باز شده روی دکمه Brows کلیک کنید و سپس فایل DLL رو که در مرحله 1 بود رو انتخاب کنید.
4- همانند تصویر پایین باید این کنترل در جعبه ابزار نمایش یابد:
86133

5-یک کنترل ScriptManager به صفحه اضافه کنید به همراه یک UpdatePanel.
خب حالا میتونید با دوبار کلیک روی این کنترل اونو در محل مورد نظر خود در فرمتون بندازید و یا بکشید و در محل مورد نظر رها کنید.


86135
تعریف خواص ها (Properties):

TitleText:
این خاصیت متن عنوان رو مشخص میکنه.

Date:
این خاصیت که نوع تاریخ رو مشخص میکنه از یک Enum با 2 مقدار تشکیل شده به نام EN و Fa که تاریخ رو به صورت میلادی و شمسی در سمت چپ بالایی پنل نمایل میدهد.

MyIcon:
این خاصیت تصویر کناری سمت چپ نوار عنوان رو مشخص میکنه که میتونید یکی از گزینه های زیر رو انتخاب کنید:

add,
admin,
delete,
news,
world


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

protected void Page_Load(object sender, EventArgs e)
{
MovablePanel1.TitleText = "Majid Maghsoudipour";
MovablePanel1.Date = ProductsAlone.Date.Fa;
MovablePanel1.MyIcon = ProductsAlone.IconSet.admin;
}



خب در کلام آخر:

امیدوارم از این کنترل استفاده لازم رو ببرید.
برای تمیز بودن تاپیک فقط از دکمه تشکر و نظرات خارج از این بحث رو به صورت پیام خصوصی انتقال بدید.

alonemm
یک شنبه 03 اردیبهشت 1391, 16:08 عصر
در این پست نحوه اضافه کردن کنترل داخل این پنل رو توضیح میدم:

این سرور کنترل دارای تگ فرزندی به نام :

<Template>
Location controls...
</Template>


که در میان قسمت باز و بسته این تگ میتونید تمامی کنترهای مربوطه رو که مخواید در این پنل باشند و روی صفحه به صورت متحرک دربیان رو میزارید.

مثل :

<cc1:MovablePanel ID="MovablePanel1" runat="server">
<Template>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</Template>
</cc1:MovablePanel>

alonemm
دوشنبه 04 اردیبهشت 1391, 11:38 صبح
آفرین .. خسته نباشی . ولی با یه سرچ کوچولو مشکلت برطرف میشد .. منم همچین مکشلی داشتم ولی درست شد .. با این حال احسنت به پشتکارت
http://www.dotnettips.info/2009/09/aspnet.html
http://www.dotnettips.info/2009/02/jquery_08.html

دوست گرامی:
من نگفتم مشکلی دارم و گفتم این مشکل رو حل کردم و این رو به صورت یک سرور کنترل آماده کردم.
لینک هایی که دادید راه کاری نداشت و راه حل این موضوع نبود.

برای رفع این مشکل:
من برای حفظ موقعیت پس از درخواست Ajax به شکل زیر عمل کردم:

Sys.WebForms.PageRequestManager.getInstance().add_ endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {


در پست 1 گفتم نظراتتون رو به صورت پیام خصوصی درج کنید تا تاپیک تمیز بمونه.



موفق باشید.