asp-controller 或 asp-action in ASP.NET Core MVC 的 Intellisense

Intellisense for asp-controller or asp-action in ASP.NET Core MVC

我刚刚安装了带有 asp.net 核心 2 的最新版本的 VS 2017。标签助手 intellisense 适用于 asp-for="FirstName"(其中 FirstName 是我模型的 属性),但是它不适用于 asp-controller ="..."asp-action="..." 之类的东西。

是否有任何方法(例如扩展)为 controller/action... 名称提供智能感知以避免手动输入它们?

更新(更多信息):

例如,如果您有一个名为 Customer 的模型:

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Code { get; set; }
}

并在您的 Index.cshtml 中遵循剃须刀代码:

@{ var myVar = "abc";}
<input type="text" asp-for="@myVar" />

<label asp-for="FirstName">Name:</label>
<input type="text" asp-for="FirstName" />

<a asp-controller="Home" asp-action="About">About</a>

您将在 asp-for="Firs..." 中对 FirstName 进行智能感知,但不会对相似属性 asp-controller="Hom...asp-action="Abou..." 进行智能感知,因为它们都是紫色和粗体(作为 TagHelpers)。

这是不可能的,主要是因为找到控制器 - 因此,找到动作 - 很棘手。控制器可以是很多东西:

  • 继承自 BaseController
  • 的 class
  • 带有 Controller 后缀的 POCO class
  • 一些公约提供的其他
  • 运行时定义的其他