PDA

View Full Version : مشکل در url routing



masoudsalahi
سه شنبه 06 مرداد 1394, 13:26 عصر
دوستان من مشکل کوچیکی در url routing دارم
درفایل global کد زیر را نوشتم


RouteTable.Routes.Add(new Route("product{NID}", new PageRouteHandler("~/ShowProduct.aspx")));

و تو صفحه default.aspx کد هایرلینک را به صورت زیر نوشتم


<asp:HyperLink ID="HyperLink3" class="btn btn-default add-to-cart" runat="server" NavigateUrl='<%# Eval("productid", "~/ShowProduct.aspx?NID={0}") %>' Text=" اطلاعات بیشتر"></asp:HyperLink>

دقیقا نفهمیدم لینک را در هایپر لینک به چه صورت باید وارد کنم!
تو مقاله ای خوندم code behind اگر بخواهید مقدار query string مورد نظر رو بگیرید باید به صورت زیر عمل کنید


Page.RouteData.Values["AID"].ToString();

ولی نفهمیدم دقیقا این کد کجا وارد کنم ؟ به چه صورت ؟ گیج شدم :عصبانی++:
در ضمن من اطلاعات از دیتابیس sql میگیرم و در دیتالیست نمایش میدم که داخلش یه دکمه اطلاعات بیشتر هست می خوام بجای آدرس ~/ShowProduct.aspx?NID={0} نمایش بده یچی مثل عنوان محصول یا id را نمایش بده

alibehi
سه شنبه 06 مرداد 1394, 14:02 عصر
شب برات یه pdf میذارم خودم از اون کاملا یاد گرفتم
منتظر باش

alibehi
سه شنبه 06 مرداد 1394, 15:18 عصر
http://computereducation.ir/course/asp.net-%D8%AF%D8%B1-urlrouting-%D8%A2%D9%85%D9%88%D8%B2%D8%B4/9

LostOfMind
سه شنبه 06 مرداد 1394, 18:01 عصر
http://computereducation.ir/course/asp.net-%D8%AF%D8%B1-urlrouting-%D8%A2%D9%85%D9%88%D8%B2%D8%B4/9

اینجا که چیزی نیست:متفکر:

alibehi
سه شنبه 06 مرداد 1394, 18:20 عصر
چرا نیس؟
پایینش نوشته دانلود که
اینم لینک دانلود خود pdf
http://computereducation.ir/file/%DA%86%D8%B1%D8%A7%20Routing.pdf

mbasirati
سه شنبه 06 مرداد 1394, 18:56 عصر
سلام
اصلا نیاز نیس از هایپرلینک هم استفاده کنی. میتونی به راحتی از تگ a استفاده کنی:


<a href='/product<%# Eval("productid") %>'>اطلاعات بیشتر</a>



به همین سادگی!

در ضمن شما نیازی نداری که توی صفحه default، کوئری استرینگ بخونی. وقتی کاربر روی لینک "اطلاعات بیشتر" کلیک کرد و وارد صفحه ShowProduct شد حالا اونجا برای اینکه Id محصول رو بخونی از همون کدی که خودت نوشتی استفاده میکنی و بعد اطلاعات محصول رو از دیتابیس بر اساس اون آی دی میخونی و ...

masoudsalahi
سه شنبه 06 مرداد 1394, 23:19 عصر
چرا نیس؟
پایینش نوشته دانلود که
اینم لینک دانلود خود pdf
http://computereducation.ir/file/%DA%86%D8%B1%D8%A7%20Routing.pdf
علی جان ممنون که پاسخ دادی رو دانلود که کلیک می کنم ارور 404 میده من به این pdf خیلی نیاز دارم

hamid_0341
چهارشنبه 07 مرداد 1394, 07:11 صبح
آدرس را اشتباه وارد کردی ، اینجوری تغییرش بده

<asp:HyperLink ID="HyperLink3" class="btn btn-default add-to-cart" runat="server" NavigateUrl='<%# Eval("productid", "~/product{0}") %>' Text=" اطلاعات بیشتر"></asp:HyperLink

برای گرفتن id هم باید همان اسمی براش توی route تعریف کردی را وارد کنی.
Page.RouteData.Values["NID"].ToString();

masoudsalahi
پنج شنبه 08 مرداد 1394, 01:49 صبح
آدرس را اشتباه وارد کردی ، اینجوری تغییرش بده

<asp:HyperLink ID="HyperLink3" class="btn btn-default add-to-cart" runat="server" NavigateUrl='<%# Eval("productid", "~/product{0}") %>' Text=" اطلاعات بیشتر"></asp:HyperLink

برای گرفتن id هم باید همان اسمی براش توی route تعریف کردی را وارد کنی.
Page.RouteData.Values["NID"].ToString();


حمید جان کد دوم متوجه نشدم کجا وارد کنم ؟


<font color="#000000"><span style="font-family: Consolas">Page.RouteData.Values["</span></font>NID<font color="#000000"><span style="font-family: Consolas">"].ToString();</span></font>




من واسه ادامه مطلب queru select تو dataset نوشتم و با objectdatasource وصلش کردم به اون query
Where productid = @productid
کد دومی که نوشتی را تو صفحه default باید بنویسم یا productshow.aspx ؟ کدوم قسمت ؟ :گریه:

hamid_0341
پنج شنبه 08 مرداد 1394, 06:21 صبح
حمید جان کد دوم متوجه نشدم کجا وارد کنم ؟


<font color="#000000"><span style="font-family: Consolas">Page.RouteData.Values["</span></font>NID<font color="#000000"><span style="font-family: Consolas">"].ToString();</span></font>




من واسه ادامه مطلب queru select تو dataset نوشتم و با objectdatasource وصلش کردم به اون query
Where productid = @productid
کد دومی که نوشتی را تو صفحه default باید بنویسم یا productshow.aspx ؟ کدوم قسمت ؟ :گریه:
توی صفخه productshow از این کد استفاده کن ، این کد id محصولت را بهت میده ، بعد یک query توی همین صفحه بگیر مشخصات محصولت را نمایش بده.

masoudsalahi
پنج شنبه 08 مرداد 1394, 12:06 عصر
توی صفخه productshow از این کد استفاده کن ، این کد id محصولت را بهت میده ، بعد یک query توی همین صفحه بگیر مشخصات محصولت را نمایش بده.

حمید جان شرمنده بخدا من نمی تونم جواب بگیرم
نیگا این کد Global


RouteTable.Routes.Add(new Route("product{NID}", new PageRouteHandler("~/ShowProduct.aspx")));

و هایپر لینک در صفحه Dfault


<asp:HyperLink ID="HyperLink3" class="btn btn-default add-to-cart" runat="server" NavigateUrl='<%# Eval("productid", "~/product{0}") %>' Text=" اطلاعات بیشتر"></asp:HyperLink>

و کد زیر را در قسمت page_load نوشتم


Page.RouteData.Values["NID"].ToString();

بعد از کلیک بر روی اطلاعات بیشتر آدرس زیر ایجاد میشه


http://localhost:1789/iranianstaremarket/product120

بدون استفاده از url Routing درست کار میکنه و محصول نمایش داده میشه ولی الان که از url Routing استفاده میکنم هیچی نمایش نمیده
امکانش هست شما پروژه نمونه واسم درست کنید تا ببینم ایراد کار کجاست.

hamid_0341
پنج شنبه 08 مرداد 1394, 17:11 عصر
حمید جان شرمنده بخدا من نمی تونم جواب بگیرم
نیگا این کد Global


RouteTable.Routes.Add(new Route("product{NID}", new PageRouteHandler("~/ShowProduct.aspx")));

و هایپر لینک در صفحه Dfault


<asp:HyperLink ID="HyperLink3" class="btn btn-default add-to-cart" runat="server" NavigateUrl='<%# Eval("productid", "~/product{0}") %>' Text=" اطلاعات بیشتر"></asp:HyperLink>

و کد زیر را در قسمت page_load نوشتم


Page.RouteData.Values["NID"].ToString();

بعد از کلیک بر روی اطلاعات بیشتر آدرس زیر ایجاد میشه


http://localhost:1789/iranianstaremarket/product120

بدون استفاده از url Routing درست کار میکنه و محصول نمایش داده میشه ولی الان که از url Routing استفاده میکنم هیچی نمایش نمیده
امکانش هست شما پروژه نمونه واسم درست کنید تا ببینم ایراد کار کجاست.

برات نمونه گذاشتم ! ....

alibehi
پنج شنبه 08 مرداد 1394, 18:16 عصر
http://s6.picofile.com/file/8203026734/Routing.pdf.html

masoudsalahi
جمعه 09 مرداد 1394, 00:45 صبح
حمید جان این پروژه ای که گذاشتی از پایگاه داده استفاده نکردی نیگا من خودم یه پروژه درست کردم اینو درستش کن ممنون
بجای آدرس زیر


http://localhost:1038/WebSite1/ShowProduct.aspx?NID=6

می خوام عنوان یا فقط id محصول نمایش داده بشه ، در ضمن من این پروژه را تو Microsoft Visual Studio 2010 نوشتم
شرمنده داداش خیلی ازیتتون کردم
133745

masoudsalahi
یک شنبه 11 مرداد 1394, 19:19 عصر
چی شد داداشا منتظر پاسخ شما هستم :گریه:

masoudsalahi
پنج شنبه 05 شهریور 1394, 20:42 عصر
ببخشید تاپیک دوباره بالا آوردم من هنوز به جواب نرسیدم و هنوز مشکل دارم