Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Html.RenderAction cannot find my controller

I have a razor masterpage (_Layout.cshtml) where I layout a 3 column website. In one of the side columns I want to display a "Login Control"

From my readings, I can use Html.RenderAction to call my LoginController and it will display the login view in the side column.

But, when I run it and point it to a Controller/View to fill the RenderBody(), the call to Html.RenderAction("Index", "LoginController") fails with this error.

 "The controller for path '/[insert path to a Controller/View to fill the 
  RenderBody()]' was not found or does not implement IController. "

So, what am I doing wrong?

My code really is as simple as:

    <div id="Navigation">@{ Html.RenderPartial("Test"); }</div>
    <div id="Main">@RenderBody()</div> 
    <div id="Misc">@{ Html.RenderAction("Index", "LoginController");}</div>

And in my controllers folder, I have the controller for the RenderBody and the LoginController.

like image 581
saunderl Avatar asked Apr 23 '26 11:04

saunderl


1 Answers

When specifying controller names by convention in MVC, you don't include the "Controller" part.

Html.RenderAction("Index", "LoginController")

wouldn't work unless you had a controller named "LoginControllerController"

try

<div id="Misc">@{ Html.RenderAction("Index", "Login");}</div>
like image 148
DMulligan Avatar answered Apr 27 '26 17:04

DMulligan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!