PDA

View Full Version : سوال: رندر شدن یک ActionLink



irpersian20
سه شنبه 28 مرداد 1393, 09:59 صبح
سلام
این فایل روتینگ:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Schema", "app/Do{action}/{id}", new { Controller = "Home", Action = "Index", id = UrlParameter.Optional }

این ActionLink

@Html.ActionLink("myLink","Myaction");




بعد از رندر
<a href="/app/DoMyaction">myLink</a>;





اما به نظرم اشتباه هست!
باید روت کنترلر Home رو بزاره جای app
من مثالی دارم که در رابطه با خروجی View ها نیست . در رابطه با ورودی ادرس هست. که دقیقا جایگزین میکند مقدار پیش فرض کنترلر(درصورتی که کنترلر نباشد)

routes.MapRoute("Schema","Shop/{action}",new {contorller="Home"});
در کد بالا مقدار پیش فرض کنترلر یعنی Home جایگزین Shop میشود!

parvizwpf
سه شنبه 28 مرداد 1393, 10:34 صبح
خب توی اکشن لینک مقدار کنترلر رو هم بدید.

hakim22
سه شنبه 28 مرداد 1393, 21:24 عصر
از نظر روتینگ شما می خواهید بجای اینکه Home نمایش داده شود از App استفاده کنید. در واقع شما با این روتی که تعریف کرده اید یک مسیر مستقیم به Home بازکرده اید که وقتی کاربر به آدرس .../app میرود در درون به کنترلر home ریدایرکت میشود. آنچیزی که در ظاهر نمایش داده میشود همیشه عین عبارت درون روت هست و آن چیزی که عملا صورت می گیرد معادل عبارت هایی است که تنظیم کرده اید.