У меня есть действие на моем контроллере (имя контроллера - «makemagic»), называемое «dosomething», которое принимает значение nullable 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);
}
Существует файл /Views/makemagic/dosomething.aspx, который имеет Inherits System.Web.Mvc.ViewPage
мне нужно сделать что-то мои маршруты ли? В моем файле global.aspx.cs есть только «стандартные» по умолчанию маршруты;
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. Любые предложения по устранению неполадок? Я попытался отладить перерыв в определении маршрута и, похоже, разрыв там не происходит, как и следовало ожидать.
Спасибо за ваш ответ. Думаю, я просто что-то пропустил: Действие вроде этого; ActionResult dosomething (int foo) {} Пробовал это, не удалось; Click Пробовал это, не удалось; Click Продолжает посылать меня в/makemagic/details action!?!?! Кажется странным, если мне нужно настроить новый маршрут, конечно, это общий сценарий? Да? – 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