【发布时间】:2014-01-16 10:15:07
【问题描述】:
我定义了以下路线
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
然后我尝试如下使用 Html.BeginForm
<% using (Html.BeginForm("Login", "Account", System.Web.Mvc.FormMethod.Post, new { @class = "login-form" }))
{ %>
但这给我呈现了如下的表格
<form class="login-form" action="/" method="post">
</form>
但是,如果我将路由的默认设置更改为不同的,例如
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Login", id = UrlParameter.Optional }
);
然后我的表单正确呈现,我在从我的帐户控制器上的登录方法返回的部分视图中使用Html.BeginForm()。
public class AccountController : Controller
{
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
//TODO: Login user
}
return View(model);
}
}
【问题讨论】:
标签: c# asp.net asp.net-mvc-2 asp.net-mvc-routing