PDA

View Full Version : سوال: افزودن UserControl بدون Postback



Zabi42
پنج شنبه 26 اسفند 1389, 10:01 صبح
سلام دوستان می خواستم بیبنم چطور میشه مثلا توسط JavaScript یا JQuery , یوزرکنترل ها رو به صفحه اضافه و کم کرد؟؟؟؟؟؟ بدون Refresh صفحه

راستش توی این زمینه زیاد search کردم و مطالبی هم راجعه به نحوه دسترسی به server با کد نویسی سمت client پیدا کردم مثل })ajax$ در JQ و ICallbackEventHandler در جاوااسکریپت ولی مشکل اینجاست که با PlaceHolderها نتونستم کار کنم
من نام UserContol رو با یه تابع به Server میفرستم بعد در سرور مسیر UC مد نظرم توی کنترلی که از نوع UserControl ساختم میریزم تا اینجا مشکل نداره حالا نوبت به این می رسه که یوزرکنترلمو به کنترل های PlaceHolder اضافه کنم که اگه این کارو تو همون متد سمت سرورم انجام بدم چیزی نشون نمیده و Error هم نمیده یعنی عملا اتفاقی توی صفحه نمیافته چی کار باید کرد؟؟؟؟؟؟؟ ایا باید مقدار UserControl رو به Client برگردونم و اونجا به کنترل های PH اضافه کنم؟؟؟ اگه جواب مثبت است لطفا راهنماییم کنید که چطور میتونم در سمت Client به یک PlaceHolder کنترلی اضافه و کم کنم

alonemm
پنج شنبه 26 اسفند 1389, 11:54 صبح
بهترین راه استفاده از Ajax هست.

aserfg
پنج شنبه 26 اسفند 1389, 12:34 عصر
سلام دوستان می خواستم بیبنم چطور میشه مثلا توسط JavaScript یا JQuery , یوزرکنترل ها رو به صفحه اضافه و کم کرد؟؟؟؟؟؟ بدون Refresh صفحه

توسط ajax تنها می شه مقادیر متنی و xml رو خوند و امکان اضافه کردن user control وجود نداره .

raziee
پنج شنبه 26 اسفند 1389, 12:40 عصر
سلام دوستان می خواستم بیبنم چطور میشه مثلا توسط JavaScript یا JQuery , یوزرکنترل ها رو به صفحه اضافه و کم کرد؟؟؟؟؟؟ بدون Refresh صفحه

راستش توی این زمینه زیاد search کردم و مطالبی هم راجعه به نحوه دسترسی به server با کد نویسی سمت client پیدا کردم مثل })ajax$ در JQ و ICallbackEventHandler در جاوااسکریپت ولی مشکل اینجاست که با PlaceHolderها نتونستم کار کنم
من نام UserContol رو با یه تابع به Server میفرستم بعد در سرور مسیر UC مد نظرم توی کنترلی که از نوع UserControl ساختم میریزم تا اینجا مشکل نداره حالا نوبت به این می رسه که یوزرکنترلمو به کنترل های PlaceHolder اضافه کنم که اگه این کارو تو همون متد سمت سرورم انجام بدم چیزی نشون نمیده و Error هم نمیده یعنی عملا اتفاقی توی صفحه نمیافته چی کار باید کرد؟؟؟؟؟؟؟ ایا باید مقدار UserControl رو به Client برگردونم و اونجا به کنترل های PH اضافه کنم؟؟؟ اگه جواب مثبت است لطفا راهنماییم کنید که چطور میتونم در سمت Client به یک PlaceHolder کنترلی اضافه و کم کنم



من در آین آدرس (http://barnamenevis.org/showthread.php?249838) یک نمونه گذاشتم
و در این پست (http://barnamenevis.org/showthread.php?249838-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-%DB%8C%DA%A9-%D9%86%D9%85%D9%88%D9%86%D9%87-%DB%8C-%DA%A9%D9%88%DA%86%DB%8C%DA%A9%DB%8C-%D8%A7%D8%B2-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%DB%8C-JQuery-%D8%AF%D8%B1-ASP.NET&p=1120670#post1120670) نحوه ی رندر شدن یک UserControl رو توضیح دادم.

موفق باشید

Zabi42
پنج شنبه 26 اسفند 1389, 15:47 عصر
اقای raziee عزیز ممنون از پاسختون
راجعه به StringWriter یه توضیحی می دید که چیکار می کنه؟؟؟ منظورم قطعه کد زیر؟


StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output, false);
string html = output.ToString();


حالا می خوام بدونم با PlaceHolder هم می شه کار کرد ؟؟؟؟؟ یعنی با Jquery یا javaScript کنترل بهش add یا Remove کرد؟؟؟

raziee
پنج شنبه 26 اسفند 1389, 22:46 عصر
اقای raziee عزیز ممنون از پاسختون
راجعه به StringWriter یه توضیحی می دید که چیکار می کنه؟؟؟ منظورم قطعه کد زیر؟


StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output, false);
string html = output.ToString();


حالا می خوام بدونم با PlaceHolder هم می شه کار کرد ؟؟؟؟؟ یعنی با Jquery یا javaScript کنترل بهش add یا Remove کرد؟؟؟

زمانی که میخواهید بوسیله ی آژاکس اطلاعاتی رو لود کنید یا باید یک رشته رو لود کنید یا xml رو و یا جیسون.
متد HttpContext.Current.Server.Execute یک یوزر کنترل رو رندر کرده و در یک StringWriter میریزه.

بعد از گرفتن اطلاعات باید در یک مکانی نمایش بدید .به عنوان مثال در یک div.
من در پست قبلی ، تاپیکی رو معرفی کردم که یک پروژه ضمیمه شده داره. اون رو بررسی کنید.