Я получаю следующее сообщение об ошибке:
Метод открытого действия 'RenderMenu' не найден в контроллере 'Web.Controllers.SiteController'.
Однако это действие существует, и контроллер существует (так как он работает везде на сайте) Я рассмотрел внутреннее исключение.
Не удалось выполнить дочерний запрос.Пожалуйста, изучите InnerException для получения дополнительной информации.
(Это внутреннее исключение ...)
Трассировка стека
на System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap [TResult] (Func`1 func) в System.Web.HttpServerUtility.ExecuteInternal (обработчик IHttpHandler, писатель TextWriter, логический метод preserveForm, логическая переменная pathathath, виртуальная переменная запроса пути к файлу)
Теперь у нас есть настройка веб-сайта с динамической системой меню, поэтому мы используем 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 работает по всему сайту (это первая форма, которую мы добавили)
Есть предложения?