【问题标题】:What is the ASP.NET Core convention for static, non-MVC pages?静态、非 MVC 页面的 ASP.NET Core 约定是什么?
【发布时间】:2022-01-15 10:04:02
【问题描述】:

我正在将我的网站从 Web 窗体转换为 .NET Core。我不想更改各种文件的目录级别,例如:

MYDOMAIN.com/FAQ.html
MYDOMAIN.com/Privacy.html

通过使用 UseStaticFiles() 中间件,我可以将它们放在 wwwroot 文件夹中,它们将按原样提供。但是,我不知道如何将带有我的网站主题的布局页面应用于这些文件,因为它们位于 MVC 框架之外。

我想通过使用 .cshtml 文件来利用布局文件和 MVC 框架,但我也试图避免强加在 URL 上的额外控制器目录:

MYDOMAIN.com/home/FAQ.html
MYDOMAIN.com/home/Privacy.html

也许这是目光短浅,但开发人员如何处理呢?

实际上,我目前的现有文件是 .aspx,而不是 .html 文件,因此对于迁移到 .Net Core 的约定又增加了一层混乱。我应该在项目的任何地方使用任何 .aspx 文件,还是应该将它们全部转换为 .cshtml / .html 文件?还是别的什么?

【问题讨论】:

  • 您似乎面临迁移问题,因此,是否可以使用前端 - 后端分开结构,以便您可以保留静态文件。或者使用asp.net core,你得改用cshtml。

标签: asp.net-core razor webforms


【解决方案1】:

我已经成功实施了一个解决方案,但它有点像 hack。我为每个静态页面添加控制器,例如我创建了一个 FAQController.cs 和 PrivacyController.cs。

每个控制器只有 Index() 操作,因此它们可以利用 _Layout.cshtml 和 _ViewStart.cshtml。

这似乎是一种迂回的方式,只是将后续移动一个级别,例如

MYDOMAIN.com/FAQ
MYDOMAIN.com/Privacy

但它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多