with mvc example asp.net-mvc renderaction

asp.net mvc - example - MVC5 Html.RenderAction con diferente controlador



render action razor (2)

Estoy empezando con MVC5 y creé el primer proyecto de MVC5 Getting Started .

Ahora intente con Representación parcial y agregue un método en MoviesController como se muestra a continuación

[ChildActionOnly] public ActionResult PriceRange() { var maxprice = db.Movies.Max(m => m.Price); var minprice = db.Movies.Min(m => m.Price); ViewBag.MaxPrice = maxprice; ViewBag.MinPrice = minprice; return PartialView(); }

Establece el precio Mínimo y Máximo de la colección de Películas en ViewBag que luego se muestran en la vista. Estoy tratando de representarlo en diferentes vistas.

Primero intenté representarlo en Views/Movies/Index.cshtml como se muestra a continuación

@{Html.RenderAction("PriceRange");}

Funciona bien allí y los resultados se muestran correctamente porque utiliza MoviesController , la misma clase en la que se definió el método PriceRange .

Luego intenté representarlo en Views/Hello/Index.cshtml (esta vista usa HelloWorldController ) con el siguiente código (primero pasa el nombre de Action y luego el nombre de Controller)

@{Html.RenderAction("PriceRange", "MoviesController");}

Aquí está dando error en tiempo de ejecución

El controlador para la ruta ''/ HelloWorld / Index'' no se encontró o no implementa IController.

Aquí está el código completo de Views / Hello / Index.cshtml

@{ ViewBag.Title = "Movie List"; } <h2>My Movie List</h2> <p>Hello from our view template</p> @{Html.RenderAction("PriceRange", "MoviesController");}

Encontré algunos ejemplos a través de Google, están llamando al ayudante de RenderAction de la misma manera, primero pasan el nombre de Action y luego el nombre de Controller.

No pude entender qué mal estoy haciendo aquí. ¿Alguien puede señalar?


El nombre del controlador debe ser "Películas" y no "MoviesController". Porque ahora creo que está buscando un controlador llamado "MoviesControllerController".


Es posible que esté agregando el postfix "Controlador" al nombre del controlador que no es necesario.

Tratar:

@{Html.RenderAction("PriceRange", "Movies");}