我有一个场景,我需要使用一个视图来实现两个表单......将有一个主页,每个主页都有一个用于登录和注册的表单(类似于 Facebook 主页)。我为我的主页 (Index.cshtml) 创建了一个视图,其中包含razor
我的两个表单的代码。
[ @using (Html.BeginForm("LogIn", "Home", FormMethod.Post))
]
[ @using (Html.BeginForm("SignUp", "Home", FormMethod.Post))
]
但是,在单击登录表单的“登录”按钮或单击注册表单的“注册”按钮时,运行时会抛出一个错误,基本上说我仍然需要为登录和注册操作创建视图,即使我已经在我的 index.cshtml 中实现了 HTML 表单
[注意:我没有使用 ASP.NET 成员资格提供程序。而本题一般为两种形式,可以是任意两种形式。]
所以我的问题是:我真的需要再创建两个名为 LogIn.cshtml 和 SignUp.cshtml 的视图吗?这不会导致代码重复吗?我对 MVC 4 很陌生,我希望你明白我在这里想要做什么,所以我只想知道是否有其他方法可以实现这一点?(jQuery,AJAX 什么的)
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult LogIn()
{
return View();
}
[HttpPost]
public ActionResult LogIn(Account acc)
{
// some code
return View();
}
[HttpGet]
public ActionResult SignUp()
{
return View();
}
[HttpPost]
public ActionResult SignUp(Account acc)
{
// some code
return View();
}
}