PDA

View Full Version : در صورت rewrite آپدیت پنل ( updatepanel )کار نمی کند.



bftarane
دوشنبه 11 آذر 1392, 10:53 صبح
سلام.
من از ماژول Intelligencia UrlRewriter برای url rewrite استفاده کردم
که به خوبی کار می کنه ولی وقتی آپدیت پنل می ندازم تو صفحه دیگه آپدیت پنل کار نمی کنه به فرض دکمه ای در آپدیت پنل انداختم و با کلیکش یه پیغام در لیبل نشون می دم که اون هم در آپدیت پنل هست ولی با کلیک دکمه صفحه رفرش می شه.

چرا rewrite با آپدیت پنل به مشکل می خوره؟ ممنون می شم برای رفع این مشکل من رو راهنمایی کنید.

actros
سه شنبه 12 آذر 1392, 12:02 عصر
مشکل شما بر میگرده به عدم توانایی UpdatePanel تو دسترسی به ریسورس های axd.

تو rewrite نمیدونم ولی تو Routing (چه وب فرم چه mvc) قبل از تعریف اولین root اینو می نویسیم (برای وب فرم.mvc ایشم تو همین مایه هاس)
routes.Add(New Route("{resource}.axd/{*pathInfo}", New StopRoutingHandler()))

این به سرور میگه که کاری با ریسورس های axd. نداشته باشه
باید یه جوری به ماژولت بگی فایل های axd. رو rewrite نکنه

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

bftarane
سه شنبه 12 آذر 1392, 19:33 عصر
البته من که نه یکی از همکارام با این مسئله مشکل داشت و از من خواسته بود راجع به این مسئله تحقیق کنم
هدف ما از استفاده از rewrite پیاده سازی چیزی شبیه subdomain به صورت مجازی بود.
و این کدها رو در Web.config دارم

<rewriter>
<if header="url" match="/(.+).aspx">
<rewrite url="(.+).aspx" to="$1.aspx" processing="stop"/>
</if>
<if header="url" match="/(.+)">
<rewrite url="(.+)" to="~/T/test.aspx?id=$1" processing="stop"/>
</if>
</rewriter>
یعنی کاربر مثلاً در آدرس بار اسم کاربریش رو بزنه و این در id قرار داده میشه و در صفحه test این آی دی خونده میشه و اطلاعات بر حسب اون واکشی می شه

چیزی که ما می خواستیم منظورمون این نبود که پسوند aspx دیده نشه و آدرس یوزفرندلی باشه بلکه هدفمون همون بود که در بالا توضیح دادم بنابراین فکر کنم نشه این کار رو با Routing انجام داد.

در هر صورت ممنون. حالا اگه کسی با این روش راه حلی به نظرش می رسه ممنون می شم راهنمایی کنه.
راستی می تونید از لینک زیر نمونه رو دانلود کنید، لطفاً بررسی کنید و راهنمایی کنید.
http://generalsite.ir/problem.aspx

bftarane
چهارشنبه 13 آذر 1392, 09:08 صبح
بچه ها در لینک زیر می تونید جواب رو ببینید. خیلی ساده فقط یه
EnableCdn="true" به اسکریپت منیجر اضافه می کنیم.
http://forums.asp.net/t/1954324.aspx?stopping+update+panel+to+work+when+I+ using+Intelligencia+UrlRewriter+module
باورم نمی شد به این سادگی حل بشه.