Ho voluto inserire un'immagine casuale su ogni viewpage del mio progetto mvc. Così ho creato un metodo che restituisce un partialView e chiama quel metodo nella pagina Layout condivisa.Un metodo di azione pubblica '..' non è stato trovato sul controller '..'
Questo funziona correttamente quando provo ad accedere con un nome utente e una password corretti. L'usato è loggato e ogni pagina contiene un'immagine casuale. Ma quando fornisco la combinazione non valida di nome utente e password. La pagina di layout condivisa non trova il controller che voglio chiamare con il mio @Html.Action
e attualmente la vista di login dovrebbe essere restituita con un messaggio di errore 'combinazione non valida di nome utente e password' e ofcourse, con l'immagine casuale.
InnerException:
{ "Un metodo di azione pubblica 'RandomSponsor' non è stato trovato sul regolatore 'Project.WebUI.Controllers.HomeController'"}
mio Html.Action in comune disposizione.
@Html.Action("RandomSponsor", "Home")
Metodo nel homecontroller.
[HttpGet]
[ChildActionOnly]
public ActionResult RandomSponsor()
{
var model = service.getRandomSponsor();
return PartialView("RandomSponsor", model);
}
Il metodo getRandomSponsor funziona bene, questo restituisce sempre un valore stringa casuale che viene restituito alla vista RandomSponsor.cshtml.
RandomSponsor.schtml (contiene solo la stringa immagine)
<img src="~/Content/Images/Advert/@(Model)" alt="a" />
ho cercato nel web per questo problema, ma non ha trovato una soluzione, qualcuno sa la risposta a questo? Potrebbe essere qualcosa con HttpGet di HttpPost?
Saluti.
puoi pubblicare la definizione della tabella del percorso? (RegisterRoutes in global.asax) e anche la definizione del controller che ha azione RandomSponsor(). –
Ho aperto un bug per questo https://aspnetwebstack.codeplex.com/workitem/2295 –
Stavo ricevendo lo stesso errore usando Mozilla Firefox 45. Facendo la stessa cosa con Google Chrome 48.0.2564.116 m, il problema è finito. Nel mio caso sono coinvolti alcuni JavaScript e ho il sospetto che questo sia il problema. – JayJay