Я хотел поместить случайное изображение на каждую страницу просмотра моего проекта mvc. Поэтому я создал метод, который возвращает partialView и вызывает этот метод на общей странице макета.Публичный метод действий «..» не найден на контроллере «..»
Это нормально работает, когда я пытаюсь войти с правильным именем пользователя и паролем. Используется для входа в систему, и каждая страница содержит случайное изображение. Но когда я даю неверную комбинацию имени пользователя и пароля. На общей странице макета не найден контроллер, с которым я хочу позвонить, с моим @Html.Action
, и на самом деле в окне просмотра должно быть возвращено сообщение об ошибке «Недействительная комбинация имени пользователя и пароля» и, конечно, со случайным изображением.
InnerException:
{ "Метод общественных действий 'RandomSponsor' не найден на контроллере 'Project.WebUI.Controllers.HomeController'"}
Мой Html.Action в общий раскладка.
@Html.Action("RandomSponsor", "Home")
Метод в homcontontroller.
[HttpGet]
[ChildActionOnly]
public ActionResult RandomSponsor()
{
var model = service.getRandomSponsor();
return PartialView("RandomSponsor", model);
}
Метод getRandomSponsor работает отлично, это всегда возвращает одно случайное строковое значение, которое возвращается к просмотру RandomSponsor.cshtml.
RandomSponsor.schtml (содержит только строка изображения)
<img src="~/Content/Images/Advert/@(Model)" alt="a" />
Я искал в Интернете для этой проблемы, но не нашел решение, кто-нибудь знает ответ на этот? Может ли это быть с HttpGet HttpPost?
С уважением.
Вы можете опубликовать определение своего маршрута? (RegisterRoutes в global.asax), а также определение контроллера, которое имеет действие RandomSponsor(). –
Я открыл ошибку для этого https://aspnetwebstack.codeplex.com/workitem/2295 –
Я получал ту же ошибку, используя Mozilla Firefox 45. Выполнение этой же задачи с Google Chrome 48.0.2564.116 м, проблема исчезла. В моем случае есть некоторый JavaScript, и я подозреваю, что это проблема. – JayJay