PDA

View Full Version : بدستا ورد ناین اردس در روتینگ



saeed31641
چهارشنبه 06 اسفند 1393, 11:49 صبح
سلام من یه ادرسی دارم به اینصورت
http://localhost:7776/Home/Details/4
حالا اینو میخام به اینصورت بنویسم

تست سوال/http://localhost:7776/4
یا

تست سوال/http://localhost:7776/Details/4
اینم کدهایی که نوشتم

routes.MapRoute(
"news", // Route name
"{controller}/{action}/{title}/", // URL with parameters
new { controller = "Home", action = "Details", title = "" } // Parameter defaults
);





@Html.ActionLink(@item.FTopicnews, "Details", "Home", new { id = item.ID_news ,title=item.FTopicnews}, new { Style="color:blue"})

karadous
چهارشنبه 06 اسفند 1393, 16:29 عصر
با فرض اینکه عدد 4 را به عنوان id در نظر بگیریم و 'تست سوال' را به عنوان title می توان Route را به صورت زیر نوشت:



routes.MapRoute(
name: "Test",
url: "Details/{id}/{title}",
defaults: new { controller = "Home", action = "Details" }
);




و در متد Details هم این دو پارامتر را می توان به صورت زیر دریافت کرد:




public ActionResult Details(int id, string title)
{
ViewBag.Id = id;
ViewBag.T = title;
return View();
}



نکته مهم این است که هر دو پارامتر در این تعریف اجباری هستند. Id حتما باید اجباری باشد اما می توانید title را اختیاری کنید. به صورت زیر:



routes.MapRoute(
name: "Test",
url: "Details/{id}/{title}",
defaults: new { controller = "Home", action = "Index", title = UrlParameter.Optional }
);