Как мне использовать его с ActionResults
что за HTTP POST?
Вы украшаете действие, которое вы публикуете, с атрибутом [HttpPost]
:
[Url("")]
public ActionResult Index() { return View(); }
[Url("")]
[HttpPost]
public ActionResult Index(string id) { return View(); }
Если вы решили присвоить действию POST другое имя:
[Url("")]
public ActionResult Index() { return View(); }
[Url("foo")]
[HttpPost]
public ActionResult Index(string id) { return View(); }
Вам необходимо указать это имя в ваших вспомогательных методах:
<% using (Html.BeginForm("foo", "home", new { id = "123" })) { %>
Как мне использовать его с "URL-адресом строки
параметры "?
Параметры строки запроса не являются частью определения маршрута. Вы всегда можете получить их в действии контроллера либо в качестве параметра действия, либо из Request.Params
.
Что касается параметра id
, он настроен в Application_Start
, поэтому, если вы хотите, чтобы он отображался в строке запроса, а не был частью маршрута, просто удалите его из этого определения маршрута:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoutes();
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index" }
);
}