سلام، دیدم که دوستان زیاد در مورد url routing سوال میکنن گفتم بهتره آموزشش رو بزارم ، البته چون خودم وقت درست کردن مقالش رو ندارم از یک سایت دیگه کمک گرفتم چون اونجا هم کاملا درست توضیح داده.
ولی اگه پیرامون این مبحث سوالی بود خودم در خدممتون هستم .
..
ASP.NET 4.0 اين امكان را فراهم آورده است تا بتوان همانند كنترلرهاي ASP.NET MVC به نگاشت URL ها در ASP.NET Web Forms پرداخت.
مثال زير نشان مي دهد كه چگونه مي توان با استفاده از تايع جديد ()MapPageRoute در ASP.NET 4.0 آدرس products/software را به صفحه Products.aspx كه در دايركتوري اصلي قرار دارد منتقل كرد.
اولين پارامتر از متد ()MapRout نام خلاصه شده مسير مي باشد. پارامتر دوم فيلتر URL مي باشد و پارامتر سوم به صفحه اي اشاره مي كند كه قرار است URL را كنترل كند. در صفحه Products.aspx مي توان كدهايي همانند شكل زير نوشت كه با استفاده از خاصيت جديد Page.RouteData در ASP.NET 4.0 مقدار پارامتر category را كه توسط products/category نگاشته شده است را برگردانده و از آن استفاده كرد.علاوه بر دسترسي برنامه نويسي شده به پارامترهاي URL همانند شكل فوق، مي توان از <asp:routeparameter> در هر كنترل DataSource در ASP.NET براي دسترسي به پارامتر URL استفاده كرد. به عنوان مثال در زير عبارت <asp:routeparameter> براي برگرداندن مقدار پارامتر @category از products/{category} در مسير URL بكار رفته است.
step4_thumb_5E7D3BEB.png
برگرداندن URL ها در ASP.NET Web Form
همانطور كه در ASP.NET به كمك مسيرگزيني URL، مسيرهاي دلخواه به عنوان مسير اصلي انتخاب مي شوند مي توان براحتي مسيرهاي واقعي را نيز برگرداند. بعنوان مثال در فوق وقتي URL مروط به products/{category} را نگاشتيم در واقع به آن يك نام كاربرپسند مثلا" به نام "products-browse" نسبت داديم. حال مي توان به راحتي با استفاده از متد ()Page.GetRouteUrl و با استفاده از پارامترهاي آن مسير واقعي URL را برگرداند. مثال زير نحوه استفاده از اين متد براي برگرداندن مسير اصلي URL كه با نام كاربر پسند مثلا" "products-browse" نگاشته شده است را نشان مي دهد.
step4_thumb_5E7D3BEB.png
به تابع توضيح داده شده در فوق مي توان هم از طريق كد نويسي در code-behind و هم از طريق markup نويسي در صفحه aspx دست يافت.
همچين مي توان با استفاده از متد ()Response.RedirectToRoute بدون توجه به اينكه از MVC استفاده مي كنيم يا Web Form كاربران را به مسيرهاي مختلفي كه با استفاده از مسيرگزيني URL نگاشته شده اند، منتقل كرد.
سناريوهايي براي اداره كردن PostBack ها
مسيرگزيني URL در ASP.NET 4.0 به طور كامل سناريوهاي Postback را پشتيباني مي كند. بعنوان مثال اگر صفحه اي با آدرس products/software را باز كنيد همه كنترل هاي سمت سروري آن المان html بصورت <form action="/products/software"> را به client برميگردانند. كه اين يعني حفظ كردن URL ها در هر Postback ،چيزي قبلا" برنامه نويسان با استفاده از مادولهاي URL Rewriting براي فراهم ساختن آن نياز به كدنويسي اضافه داشتند.
------------------------
منبع :persiadevelopers