【发布时间】:2018-03-28 01:59:28
【问题描述】:
我正在制作一个 ASP.NET Core MVC 项目。我设置了 HomeController,设置了带有 Home 和 Shared 文件夹的 Views 文件夹,在这些文件夹中我有适当的 .cshtml 文件(例如 Index.cshtml、_Layout.cshtml 和 _ViewStart.cshtml)。我还有一个 PartialViews 文件夹,里面有一堆 HTML 文件(不是 .cshtml 文件)。
我要做的就是从浏览器发出 Ajax 获取请求,以获取 PartialViews 文件夹中的 HTML 文件(为了清楚起见,该文件夹的路径为 MyProject\Areas\MyArea\PartialViews\SomeDoc.html)。我知道如果这个 HTML 文件在 wwwroot 文件夹中(静态文件保存在那里——我也在使用这个),我可以向 url 'localhost/SomeDoc.html' 发出获取请求。但是它不在wwwroot下,所以我想我必须通过我在MyArea中定义的HomeController?我不确定如何格式化获取请求,以便HomeController.Index() 中的return View() 知道获取并返回指定文件夹路径中的html 文件。我试过这个网址:'localhost/MyArea/Home/PartialViews/SomeDoc.html',虽然它只返回一个 404。
ASP.NET Core docs pertaining to MVC 似乎并没有真正解决这个问题,除非我误解了它们。我不确定的另一件事是,这个 PartialViews 文件夹中的这些 HTML 文件是否应该像this article on using partial views with MVC 描述的那样使用。我很困惑,因为文章 (a) 仅引用 .cshtml 文件(而我只有 html 文件),并且 (b) 没有解释如何格式化视图请求(除非我再次遗漏了一些东西)。
【问题讨论】:
-
由于您使用的是 MVC,因此您的部分视图应该是 .cshtml 文件。而且因为您使用的是 MVC,这意味着您的站点/api 是 Restful,通常不包含文件作为路径的一部分。放开 HTML 文件……你必须忘掉你所学的东西 ;)
标签: c# asp.net-core-mvc partial-views