【发布时间】:2016-05-13 13:16:30
【问题描述】:
我在 HomeController 中定义了以下方法:
[HttpPost]
public ActionResult Validate(AccountRegisterModel accountRegisterModel)
{
// do something
}
[HttpPost]
public ActionResult Create(AccountRegisterModel accountRegisterModel)
{
// do something else
}
我在视图中定义了这些 HTML 行。
<input name="submit" type="submit" value="Create" class="btn btn-info" onclick="location.href='@Url.Action("Validate", "Home")'"/>
<input name="validate" type="submit" value="Create" class="btn btn-info" onclick="location.href='@Url.Action("Validate", "Home")'"/>
当我运行应用程序并单击两个按钮时,始终会调用控制器上的 Create 操作。这里有什么交易?
我正在使用如下定义的默认路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
【问题讨论】:
标签: asp.net-mvc-4 onclick forms http-post