我收到以下错误消息,
但是,确实存在此操作,并且 Controller 确实存在(因为它在站点上的任何地方都有效),所以我查看了内部异常。
(这是内部的异常...)
堆栈跟踪
现在,我们有了一个带有动态菜单系统的网站设置,因此我们在通用 Controller 上使用RenderAction()来构建此菜单系统。
<% Html.RenderAction("RenderMenu", "Site"); %>
该调用是从MasterPage进行的,并且可以正常工作,直到出现类似这样的验证错误,
[HttpPost]
public ActionResult Register(UserModel UserToAdd)
{
if(!ModelState.IsValid)
{
return View(UserToAdd);
}
//Run some validation
if (_UserService.DoesEmailExist(UserToAdd.EMail))
{
TempData["error"] = "Email Address Already in use!";
return View(UserToAdd);
}
//Add the user
TempData["info"] = "User Added - " + UserO.ID;
return View("Success");
}
如果有新用户,它会很好地工作,但是如果有人输入已经存在的电子邮件,则会出现上述错误。此RenderAction方法可在整个网站上使用(这是我们添加的第一个表格)
有什么建议么?
最佳答案
固定的:
RenderAction()方法如下
[HttpGet]
public ActionResult RenderMenu()
{
//Do Stuff
}
删除HttpGet属性已解决了该问题。
public ActionResult RenderMenu()
{
//Do Stuff
}
想知道为什么吗?
关于validation - Asp.Net MVC : Execution of the child request failed.请检查InnerException以获取更多信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3211919/