我是 MVC 的新手。我创建了一个空的 mvc 应用程序。后来为该视图添加了一个视图、一个控制器和一个模型。将这三个部分添加到应用程序中后,我尝试运行该应用程序。但是,我从浏览器收到“找不到资源”错误。我无法弄清楚这背后的原因。
是否需要修改任何设置以使其正常运行?我没有更改任何设置。
谁能帮我解决这个问题?
谢谢曼尼坎丹
我是 MVC 的新手。我创建了一个空的 mvc 应用程序。后来为该视图添加了一个视图、一个控制器和一个模型。将这三个部分添加到应用程序中后,我尝试运行该应用程序。但是,我从浏览器收到“找不到资源”错误。我无法弄清楚这背后的原因。
是否需要修改任何设置以使其正常运行?我没有更改任何设置。
谁能帮我解决这个问题?
谢谢曼尼坎丹
您可能没有在浏览器中请求正确的 url,或者您没有正确命名控制器。
假设您想添加一个 HomeController。
以下是步骤:
添加~/Controllers/HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
添加~/Views/Home/Index.cshtml
:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<div>
</div>
</body>
</html>
运行应用程序并导航到/Home/Index
如果您所做的一切都如您所描述,那么最可能的原因是您使用的 Visual Studio 模板不包含您创建的自动生成的视图中引用的某些脚本。
尝试打开出现此错误的视图(您添加的视图)并删除其Scripts.Render
指令,然后再次运行您的应用程序并查看它是否消失。
如果使用上述方法确实消失了,那么问题出在这些缺少的脚本上。在这种情况下,您可以选择不在您的应用中使用它们,或者使用 nuget 安装它们。
添加类配置默认路由并从 global.asax 调用它当然添加带有动作索引的 Home 控制器
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}