我试图在我的ASP.NET MVC应用程序中创建注册。注册分为不同的区域。
首先,我进入“创建”页面。如果Create中的表单已成功填写并且我已提交,我想继续使用另一种表单的AccountInfo。
[HttpGet]
public ActionResult Create()
{
return View("Create");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Account account)
{
if(ModelState.IsValid)
{
using (db)
{
return RedirectToAction("AccountInfo", new { account = account });
}
}
return View();
}
public ActionResult AccountInfo(Account account)
{
db.Accounts.Add(account);
db.SaveChanges();
return View();
}
如果AccountInfo
中的表单未填写,我如何禁止访问Create
?
答案 0 :(得分:2)
嗯,你关心的是帐户已经填写,所以你真的不必担心有人直接来到AccountInfo。如果他们这样做,他们就不会拥有有效的Account对象。如果帐户对象无效,那么您只需将它们重定向回创建。
答案 1 :(得分:1)
检查第一个表单中的所有参数是否为"有效"当你到达第二个表格时填写。您还可以检查该呼叫是否来自该页面。只需检查http请求对象即可找到正确的信息。
以下是我所指的对象:http://msdn.microsoft.com/en-us/library/system.web.httprequest%28v=vs.110%29.aspx