0
我對我的控制器(控制器名稱是'makemagic')有一個操作,稱爲'dosomething',它接受一個可爲空的int,然後返回視圖'dosomething.aspx'。至少這是我想要做的。似乎不管我被路由到Default()視圖。ASP.NET MVC重定向動作默認?
public ActionResult dosomething(int? id)
{
var model = // business logic here to fetch model from DB
return View("dosomething", model);
}
有具有繼承System.Web.Mvc.ViewPage
一個/Views/makemagic/dosomething.aspx文件我需要做一些事來我的路線?我在我的global.aspx.cs文件中只有「stock」默認路由;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
我打電話通過這樣的href在另一個頁面;
<a href="/makemagic/dosomething/25">Click Me!</a>
認真地駕駛我nutso。有關如何解決此問題的任何建議?我試圖在我的路由定義上調試break,並且似乎沒有像期望的那樣發生。
感謝您的回覆。我想我只是缺少一些東西: 這樣的行動; ActionResult dosomething(int foo){} 試過這個,失敗了; Click 試過這個,失敗了; Click 一直給我發送/ makemagic/details動作!?!?! 似乎很奇怪,如果我不得不建立一條新路線,這肯定是一種常見的情況?是? – CmdrTallen
甚至嘗試過<%= Html.ActionLink(「makemagic」,「dosomething」,new {foo = 25})%>,這也失敗了。 GRRRR。 – CmdrTallen
如果我複製URL並將其粘貼到一個新窗口中,但它似乎從頁面內部「丟失」。當我粘貼它時,這在瀏覽器中起作用; http:// localhost:port/makemagic/dosomething/foo/25 但是,當它作爲一個href似乎去; http:// localhost:port/home/default 想法? – CmdrTallen