【问题标题】:ASP.NET Core Access Files inside subfolders子文件夹内的 ASP.NET Core 访问文件
【发布时间】:2021-11-08 20:38:24
【问题描述】:

我正在使用带有 VSCode 的 ASP.NET。我是 ASP 新手,这是我的第一个项目。我创建了项目并创建了一个名为 admin 的文件夹,其中包含一个 index.cshtml 文件。但是当我尝试通过键入localhost:5000/admin/localhost:5000/admin/indexlocalhost:5000/admin/index.cshtml 在浏览器中访问文件时,这些 URL 都没有显示网页。相反,浏览器显示在 localhost:5000 中找不到 URL。

我试图通过谷歌搜索找到解决方案,但一无所获。我还不想跳入 MVC,因为我从未使用过它。

PS:请不要以“这个问题需要更多研究”为由将其删除。我是一个初学者,并且已经解释了我可以拥有什么。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-core asp.net-web-api


    【解决方案1】:

    Asp.net MVC 框架的工作方式是:

    • 请求首先进入一个动作而不是一个视图(例如index.cshtml)。当然在那之前发生了很多事情
    • 文件夹名称默认映射到现有控制器的名称。所以你需要有一个名为 AdminController 的控制器,它必须从 Microsoft.AspNetCore.Mvc.Controller 继承
    • admincontroller 控制器中,您需要有一个名为Index 的操作
    • 那么您的index.cshtml 需要放在/Views/Admin/index.cshtml 位置或/Views/Shared/index.cshtml 位置

    之后,当您点击 URL localhost:5000/admin/index 时,请求将转到 AdminController 控制器中名为 Index 的操作。动作方法的最后一行通常是return View();,它将查找与动作名称匹配的 cshtml 页面。在这种情况下是Index。因此它将开始寻找index.cshtml 文件。如果找到它,它将以这种方式呈现您的 index.cshtml 视图。

    这里是一个简单的控制器和动作:

    public class AdminController : Controller
    {
        public AdminController()
        {
        }
    
        public IActionResult Index()
        {
            return View();
        }
    }
    

    【讨论】:

      【解决方案2】:

      常规路由通常与控制器和视图一起使用。您必须在正确的位置创建视图。通常,如果要为控制器操作返回视图,则需要在 Views 文件夹中创建一个子文件夹,其中与您的控制器同名。在子文件夹中,您必须创建一个与控制器操作同名的视图。

      可以参考doc了解什么是mvc。

      如果您使用的是 ASP.NET,您可以尝试在 Controllers 文件夹中创建一个 AdminController,如下所示:

      public class AdminController : Controller
      {
      
          public ActionResult Index()
          {
              return View();
          }
      }
      

      如果您使用的是 ASP.NET Core MVC,您可以尝试在 Controllers 文件夹中创建一个 AdminController,如下所示:

      public class AdminController : Controller
          {
          
              public IActionResult Index()
              {
                  return View();
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2013-02-03
        • 2013-02-04
        • 1970-01-01
        • 2020-04-04
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        相关资源
        最近更新 更多