je voulais mettre une image au hasard sur tous les ViewPage de mon projet mvc. J'ai donc créé une méthode qui retourne un partialView et appelle cette méthode dans la page Layout partagée.Une méthode d'action publique « .. » n'a pas été trouvé sur le contrôleur « .. »
Cela fonctionne bien lorsque je tente de se connecter avec un nom d'utilisateur et mot de passe. L'utilisé est connecté et chaque page contient une image aléatoire. Mais quand je donne la combinaison invalide de nom d'utilisateur et mot de passe. La page de mise en page partagée ne trouve pas le contrôleur que je veux appeler avec mon @Html.Action
et la vue de connexion devrait être retournée avec un message d'erreur «combinaison invalide de nom d'utilisateur et mot de passe» et bien sûr, avec l'image aléatoire.
InnerException:
{ "Une méthode d'action publique 'RandomSponsor' n'a pas été trouvé sur le contrôleur 'Project.WebUI.Controllers.HomeController'"}
Mon Html.Action en commun disposition.
@Html.Action("RandomSponsor", "Home")
Méthode dans le homecontroller.
[HttpGet]
[ChildActionOnly]
public ActionResult RandomSponsor()
{
var model = service.getRandomSponsor();
return PartialView("RandomSponsor", model);
}
La méthode getRandomSponsor fonctionne très bien, celui-ci renvoie toujours une valeur de chaîne aléatoire qui est renvoyée à la vue RandomSponsor.cshtml.
RandomSponsor.schtml (ne contient que la chaîne de l'image)
<img src="~/Content/Images/Advert/@(Model)" alt="a" />
Je recherche sur le web pour ce problème, mais n'a pas trouvé une solution, personne ne sait la réponse à celle-ci? Serait-il quelque chose avec HttpGet de HttpPost?
Cordialement.
pouvez-vous poster votre définition de table de route? (RegisterRoutes dans global.asax) et également la définition de contrôleur qui a l'action RandomSponsor(). –
J'ai ouvert un bug pour ce https://aspnetwebstack.codeplex.com/workitem/2295 –
Je recevais la même erreur en utilisant Mozilla Firefox 45. Faire la même chose avec Google Chrome 48.0.2564.116 m, le problème est parti. Dans mon cas, il y a du JavaScript et je pense que c'est le problème. – JayJay