C# ASP.NET MVC模板项目无法开箱即用

C# ASP.NET MVC模板项目无法开箱即用,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,这可能是一个愚蠢的问题,我在MVC项目方面的经验有限。 现在我需要创建一个全新的Asp.net项目。我做了以下几件事: 在VS2017中,创建了一个新的ASP.NET Web应用程序(.NET Framework)项目,将Framework设置为4.6.1,并选择“MVC”作为项目模板 添加了一个名为Test.cshtml的新MVC5视图页面(Razor) 重建项目 使用以下URL和结果打开浏览器: a、 ) 获取:“/”应用程序中的服务器错误 b、 ) 获取:“/”应用程序中的服务器错误 c、

这可能是一个愚蠢的问题,我在MVC项目方面的经验有限。 现在我需要创建一个全新的Asp.net项目。我做了以下几件事:

  • 在VS2017中,创建了一个新的ASP.NET Web应用程序(.NET Framework)项目,将Framework设置为4.6.1,并选择“MVC”作为项目模板
  • 添加了一个名为Test.cshtml的新MVC5视图页面(Razor)
  • 重建项目
  • 使用以下URL和结果打开浏览器:

    a、 ) 获取:“/”应用程序中的服务器错误

    b、 ) 获取:“/”应用程序中的服务器错误

    c、 ) 获取:“/”应用程序中的服务器错误

    d、 ) 获取:HTTP错误404.0-未找到

  • 有没有一个原因,为什么它不能开箱即用?据我所知,默认路由应该可以正常工作。 少了什么吗


    谢谢,Radek

    问题是您只创建了视图。您缺少为其提供服务的控制器(并用数据填充)。添加一个控制器,然后添加一个相应的视图,在控制器返回
    视图中的操作结束时(“您的视图\u名称”

    Piotr Stapp关闭。缺少的详细信息是,控制器必须在子文件夹中创建与控制器名称同名的相应视图

    是的,VS2017甚至不应该为MVC添加页面模板。如果是的话,它应该创建所有正确绑定的MVC组件,而不是一个甚至不想运行的垃圾。这真的很方便,因为这不像以前MVC时代那样简单


    这实际上是一个非常有用的教程。谢谢你,彼得

    “添加了一个名为Test.cshtml的新MVC5查看页面(Razor)页面。”您在哪里添加的?您没有创建新控制器,因此
    /Test
    将无法工作。您也不能请求
    .cshtml
    文件。模板工作得很好。你创建了一个V。现在你只需要M和C。我建议通过一些。正如Piotr Stapp所建议的,我已经创建了一个控制器,但这并不能解决问题。另外,用于创建新页面项的VS2017选项应该知道项目的类型,因此不应该创建无法开箱即用的项。我看不出有什么理由对我的问题回答-1。默认情况下,在MVC中添加一个新页面应该会自动创建这3个项目。我还创建了一个视图,但没有创建控制器。它也不起作用,所以让我看看添加控制器是否起作用。非常混乱和复杂。在TestView中添加了相应的控制器-名为TestController。现在我遇到了另一种类型的错误:未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:~/Views/Test/Index.aspx~/Views/Test/Index.ascx~/Views/Shared/Index.aspx~/Views/Shared/Index.ascx~/Views/Test/Index.vbhtml~/Views/Shared/Index.cshtml~/Views/Shared/Index.vbhtmlCheck此官方教程:@RadekStrugalski堆栈溢出不适用于最基本的错误。请阅读链接的MVC教程。@RadekStrugalski Test.cshtml必须位于正确的位置。例如,将其重命名为Index.cshtml并将其放入/Views/Test或使用
    View(“Test”)
    来使用Test.cshtml