我对 ASP.NET Core 2.0 的 MVC 和 razor 项目非常困惑。 在 Visual Studio 2017 中,我执行以下操作:
但是当我打开页面的cs代码时我看到:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.RazorPages; // <------- MVC?
namespace WebApplication2.Pages
{
public class AboutModel : PageModel
{
public string Message { get; set; }
public void OnGet()
{
Message = "Your application description page.";
}
}
}
如果我选择了仅剃刀项目,为什么它仍然引用 MVC?
我的问题源于一个更深层次的问题:我不明白我必须遵循什么文档!当我看到有关 razor 或 MVC 的教程时,我不确定它是否适用于此类项目。
这仅仅是因为
Microsoft.AspNetCore.Mvc
命名空间是微软团队决定放置 Razor 的地方。这并不意味着您的项目使用 MVC,只是它使用的某些类位于名称中包含 MVC
的命名空间中。
这只是一个猜测,但我相信这可能只是一个历史性的事情。 Razor 曾经确实只是 MVC 的一部分,因此它位于 MVC 命名空间下,但现在它不需要 MVC 来生存,他们将其留在这里是为了兼容性或一致性吗?这个问题可能只有微软的人才能回答:-/