Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Created a new view in MVC 5, opening the new view results in HTTP 404

When I open the default MVC views(index and create) it work fine, I can add data and get data from the database. When I create a new view it don't work. It gets Http 404. This is even if I duplicate the create view, only with a different file name.

Error-message:

Server Error in '/' Application. The resource cannot be found. Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

I have follow some forum suggestions from people with similar problems, but it don't work.

I use MVC 5, EF6, VS2013 and my DB is a MS-sql.

Any suggestions that point me in the right direction is appreciated. Thanks!

like image 480
Bjorn Avatar asked Dec 25 '22 16:12

Bjorn


2 Answers

You should be accessing the view through an action method. So If you created your new view in ~/Views/Home/AboutMe.cshtml, You should add an action method like this in your HomeController.

public class HomeController : Controller
{
   public ActionResult AboutMe()
   {
     return View();
   }
}

Now you can access this like http://yourServerName/yourAppName/Home/AboutMe

If you want to have your action method in a different controller, You can specify the full view path. Ex : IF you want to add the action method to your Account controller,

public class AccountController : Controller
{
   public ActionResult AboutMe()
   {
      return View("~/Views/Home/aboutme.cshtml");
   }
}
like image 108
Shyju Avatar answered Jan 18 '23 22:01

Shyju


All the Views are linked to an Action in your controller.

http://www.asp.net/mvc/tutorials/mvc-5/introduction/adding-a-controller

http://www.asp.net/mvc/tutorials/mvc-5/introduction/adding-a-view

No Action in controller -> 404 error!

like image 29
theLaw Avatar answered Jan 19 '23 00:01

theLaw