Created a new view in MVC 5, opening the new view

2019-06-28 00:56发布

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!

3条回答
祖国的老花朵
2楼-- · 2019-06-28 01:23

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!

查看更多
别忘想泡老子
3楼-- · 2019-06-28 01:26

Set as startup page now gives the wrong url, producing the 404

查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-06-28 01:44

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");
   }
}
查看更多
登录 后发表回答