【问题标题】:VS2017: Why razor project still refers to MVC?VS2017:为什么razor项目还是指MVC?
【发布时间】:2017-10-22 07:29:02
【问题描述】:

我对 ASP.NET Core 2.0 的 MVC 和 razor 项目感到非常困惑。 在 Visual Studio 2017 中,我执行以下操作:

  • 新项目
  • Web ASP.NET Core 应用程序 (C#)
  • Web 应用程序(不是 Web 应用程序 MVC)

但是当我打开一个页面的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 的教程时,我不确定它是否适用于此类项目。

【问题讨论】:

  • 因为那是 RazorPages 似乎存在的地方。这并不意味着您正在使用 MVC。

标签: c# asp.net-mvc razor


【解决方案1】:

这仅仅是因为Microsoft.AspNetCore.Mvc 命名空间是微软团队决定放置 Razor 的地方。这并不意味着您的项目使用 MVC,只是它使用的某些类位于名称中包含 MVC 的命名空间中。

这只是一个猜测,但我相信这可能只是一件历史性的事情。 Razor 曾经真的只是 MVC 的一部分,所以它在 MVC 命名空间下,但现在它不需要 MVC 来生存,他们把它留在这里是为了兼容性或一致性?这个问题可能只有微软的人才能回答:-/

【讨论】:

    猜你喜欢
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多