我是MVC的新手,必须从事一个已经完成的项目。而且我正在尝试添加一个sime测试页,但我不断收到HTTP Error 404.0 - Not Found
我遵循了tututial等的指示,但我不断收到此错误。
我做了什么
步骤1 :在HomeController
控件上,我添加了新的ActionMethod
public ActionResult Test2()
{
ViewBag.Message = "Your contact page.";
return View();
}
第2步:开右键单击Test2()
以添加视图Test2.cshtml
步骤3:在此页面<h1> TEST2 PAGE</h1>
编译项目,并在运行项目后在浏览器http://localhost:54363/Home/Test2
中打开以下页面,并显示以下错误
HTTP错误404.0-找不到所需的资源 已删除,更名或暂时不可用。
我甚至将以下路由添加到RouteConfig.cs页面
routes.MapRoute(
name: "test2",
url: "Test2",
defaults: new { controller = "Home", action = "Test2", id = UrlParameter.Optional }
);
也尝试了不同的路线
routes.MapRoute(
name: "Test2",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Test2", id = UrlParameter.Optional }
);
似乎无法解决所有问题,为什么不确定为什么不打开新页面始终对所有路径给出404错误
http://localhost:54363/Home/Test2
http://localhost:54363/Test2
我不确定我在做什么错。
路线顺序
routes.MapRoute(
name: "indexTest",
url: "IndexTest/",
defaults: new { controller = "Home", action = "IndexTest", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "test2",
url: "Test2",
defaults: new { controller = "Home", action = "Test2", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
更新:
当我创建一个新的Web应用程序项目时,即使不更改默认RouteConfig.cs也可以运行Test2并运行,并且页面运行良好。在已经完成的项目中,我无法按照相同的方法添加新页面
答案 0 :(得分:0)
routes.MapRoute(
name: "test2",
url: "Test2",
defaults: new { controller = "Home", action = "Test2" }
);
并将[HttpGet]关键字添加到您的操作
[HttpGet]
public ActionResult Test2()
{
ViewBag.Message = "Your contact page.";
return View();
}
我认为这对您有用。
您的Test2.cshtml视图文件必须在项目的此路径“ View-> Home-> Test2”下。
答案 1 :(得分:0)
这通常是由于web.config中缺少以下内容引起的:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
还要检查您是否没有Global.asax