从我正在制作的网站的每个页面上,您都可以登录。在具有其他表单的页面上,提交后我收到以下错误:“不允许子操作执行重定向操作。” 在我添加登录之前,所有表单都运行良好。此外,登录在您使用时可以正常工作。仅当我提交不同的表单时才会出现该错误。我设置了一个断点,并观察了当我点击另一个提交时会发生什么。出于某种原因,SignIn Post ActionResult 正在尝试运行。任何帮助,将不胜感激。
错误:
不允许子操作执行重定向操作。第 67 行:@{Html.RenderAction("SignIn", "Account");}
登录 查看
@using (Html.BeginForm("SignIn", "Account", FormMethod.Post))
{
<input class="signInSubmit" type="submit" name="submitButton" value="" />
}
视图中的另一种形式
@using (Html.BeginForm("Confirm", "Cart", null, FormMethod.Post, new { @id = "productDetailsForm" }))
{
<input class="addToCart" type="submit" name="submit" value="" />
}
登录控制器
// GET: /Account/SignIn
public ActionResult SignIn()
{
return PartialView();
}
// POST: /Account/SignIn
[HttpPost]
public ActionResult SignIn(Customer customer)
{
try
{
//Stuff is here
return RedirectToAction("Index", "Home");
}
catch
{
return RedirectToAction("Registration");
}
}
其他形式的控制器
// GET: /Cart/
public ActionResult Index()
{
CartViewModel cart = getCart();
return View(cart);
}
//POST: Cart/Confirm
[HttpPost]
public ActionResult Confirm(int productID, bool certs, int quantity)
{
CartItemViewModel viewModel = new CartItemViewModel
{
Item = productRep.GetProductByID(productID),
Certs = certs,
Quantity = quantity
};
return View(viewModel);
}
HTML 源代码
<form action="/Account/SignIn" method="post">
<input class="signInSubmit" type="submit" value="" />
</form>
<form action="/Cart/Confirm" id="productDetailsForm" method="post">
<input class="addToCart" type="submit" value="" />
</form>