PDA

View Full Version : مشکل در استفاده از Url Routing



alibabaei2
شنبه 28 بهمن 1391, 21:52 عصر
با سلام
در استفاده از urlRouting به مشکل بر خوردم
مقاله ی آموزشی خوب تو سایت هست اما با وجود خوندن اون باز هم نتونستم url ها رو بدون پارامتر queryString نشون بدم
http://barnamenevis.org/showthread.php?317763-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-url-routing-%D8%AF%D8%B1-%D8%AF%D8%A7%D8%AA-%D9%86%D8%AA-4

درون Global.asax و در متد Application Start کد زیر رو نوشتم

RouteTable.Routes.MapPageRoute("HomeText", "HomeTextID/{TextID}", "~/ShowText.aspx");

و در صفحه ShowText.aspx در متد Page Load هم کد زیر رو نوشتم

if (RouteData.Values["TextID"] != null)
{
string TextID = RouteData.Values["TextID"].ToString();

if (!string.IsNullOrEmpty(TextID))
{
int IntTextID = Convert.ToInt32(TextID);

var n = (from p in DataContext.Context.HomeTexts
where p.TextID == IntTextID
select p).FirstOrDefault();

lbID.Text = n.TextBody;

}
}

من یک صفحه به اسم TextLists.aspx دارم که لیستی درون اون صفحه وجود داره و با کلیک کردن روی هر گزینه به صفحه ShowText.aspx میره و با استتفاده از QueryString متن مورد نظر رو نشون میده
اما هنوز هم وقتی روی هر مورد از لیست کلیک می کنم Url به شکل زیر نمایش داده میشه
ShowText.aspx?ID=17

mohsen_f_b
یک شنبه 29 بهمن 1391, 14:55 عصر
سلام

دوست عزیز شما زمانی که لینک را تولید میکنید باید به این صورت آدرس دهی کنید:

~/HomeTextID/18

حالا زمانی که روی لینک کلیک میشه عملیات Routing انجام میشه؛ نه اینکه شما آدرس را به همان شکل ShowText.aspx?ID=17 قرار دهید.

یک بار دیگه Url Routing را مطالعه نمایید. ماهیت و نحوه استفاده از آن جور دیگری است. حتما باید لینک هایتان اصلاح شود.

موفق باشید

alibabaei2
یک شنبه 29 بهمن 1391, 22:01 عصر
سلام

دوست عزیز شما زمانی که لینک را تولید میکنید باید به این صورت آدرس دهی کنید:

~/HomeTextID/18

حالا زمانی که روی لینک کلیک میشه عملیات Routing انجام میشه؛ نه اینکه شما آدرس را به همان شکل ShowText.aspx?ID=17 قرار دهید.

یک بار دیگه Url Routing را مطالعه نمایید. ماهیت و نحوه استفاده از آن جور دیگری است. حتما باید لینک هایتان اصلاح شود.

موفق باشید

با تشکر از راهنماییتون
کاری که گفتید انجام دادم و url هم درست شد اما در صفحه ShowPage.aspx وارد شرط زیر نمی شود

if (RouteData.Values["TextID"] != null)
{....}