如果未提交其他操作的形式,则禁止访问页面

本文关键字:禁止 访问 提交 其他 操作 如果 | 更新日期: 2023-09-27 18:31:27

我正在尝试在我的 ASP.NET MVC应用程序中创建一个注册。注册分为不同的区域。

首先,我将进入"创建"页面。如果"创建"中的表单已成功填写并且我提交了,则我想转到具有另一个表单的帐户信息。

[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();
}

如果未填写Create中的表单,如何禁止AccountInfo访问?

如果未提交其他操作的形式,则禁止访问页面

好吧,您关心的只是填写帐户,因此您真的不必担心是否有人直接访问AccountInfo。 如果他们这样做,他们将没有有效的帐户对象。 如果帐户对象无效,则只需将它们重定向回"创建"。

检查第一个表单中的所有参数是否"有效",并在到达第二个表单时填写。您还可以检查呼叫是否来自该页面。只需检查 http 请求对象即可找到正确的信息。

这是我所指的对象:http://msdn.microsoft.com/en-us/library/system.web.httprequest%28v=vs.110%29.aspx