A public action method ‘RenderMenu’
was not found on controller
‘Web.Controllers.SiteController’.
但是这个动作确实存在并且控制器确实存在(因为它在网站上的任何地方工作)我查看了内部异常.
Execution of the child request Failed.
Please examine the InnerException for
more information.
(这是内在的例外……)
堆栈跟踪
at
System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1
func) at
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler
handler,TextWriter writer,Boolean
preserveForm,Boolean setPrevIoUsPage,
VirtualPath path,VirtualPath
filePath,String physPath,Exception
error,String queryStringOverride)
现在,我们有一个带有动态菜单系统的网站设置,所以我们在通用控制器上使用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方法适用于整个站点(这是我们添加的第一个表单)
有什么建议?