داشتن یک آدرس تمیز و قابل فهم برای کاربران و موتورهای جستجو، یکی از امکاناتی است که این روز ها درباره آن بحث زیادی میشود. این امکان در ASP.NET 3.5 SP1 برای برنامه نویسان ASP.NET نیز به وجود آمد.
امروز با یک مثال نحوه استفاده از این امکان را در برنامه های WebForms به شما نشان میدهم.
در اصلی URL Routing استفاده از یک آدرس قابل فهم است که فایل معادل فیزیکی آن وجود ندارد. و شما در برنامه خود این آدرس را به یک فایل فیزیکی متصل میکنید.
در طول این مثال فرض ما بر این است که سایتی با 2 صفحه وجود دارد.صفحه اصلی و صفحه نمایش یک مقاله با نام های Default.aspx و Detail.aspx که تا امروز برای ارسال شناسه مقاله ها به این صفحه از یک کوئری استرینگ به نام ID استفاه میشده است. و آدرس آن به شکل زیر بوده
www.mysite.ir/Detail.aspx ?ID=22
حال میخاهیم این آدرس را به شکل زیر تبدیل کنیم
www.mysite.ir/viewarticle/22
قدم اول:
اولین کار ایجاد مسیر مجازی و اتصال آن به مسیر فیزیکی است. نمونه این کار را درمثال پایین مشاهده میکنید. این کار به کمک تابع RegisterRoutes انجام میشود که در Application_Start فراخوانده میشود.
امروز با یک مثال نحوه استفاده از این امکان را در برنامه های WebForms به شما نشان میدهم.
در اصلی URL Routing استفاده از یک آدرس قابل فهم است که فایل معادل فیزیکی آن وجود ندارد. و شما در برنامه خود این آدرس را به یک فایل فیزیکی متصل میکنید.
در طول این مثال فرض ما بر این است که سایتی با 2 صفحه وجود دارد.صفحه اصلی و صفحه نمایش یک مقاله با نام های Default.aspx و Detail.aspx که تا امروز برای ارسال شناسه مقاله ها به این صفحه از یک کوئری استرینگ به نام ID استفاه میشده است. و آدرس آن به شکل زیر بوده
www.mysite.ir/Detail.aspx ?ID=22
حال میخاهیم این آدرس را به شکل زیر تبدیل کنیم
www.mysite.ir/viewarticle/22
قدم اول:
اولین کار ایجاد مسیر مجازی و اتصال آن به مسیر فیزیکی است. نمونه این کار را درمثال پایین مشاهده میکنید. این کار به کمک تابع RegisterRoutes انجام میشود که در Application_Start فراخوانده میشود.
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routs)
{
routs.MapPageRoute("article-browser", "viewarticle/{ID}",
"~/Detail.aspx");
}
قدم دوم:
دومین قدم ایجاد یک لینک است از صفحه دوم به این صفحه که لینک به شکل زیر میشود.
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/viewarticle/22" Text="عنوان مقاله">asp:HyperLink>
قدم سوم:
در صورتی که پارامتری به ای صفحه ارسال کنیم میتوانیم این پارامتر را به شکل زیر بخوانیم.
protected void Page_Load(object sender, EventArgs e)
{
string articleId = Page.RouteData.Values["ID"] as string;
}
0 نظرات:
ارسال یک نظر