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
- 一些公约提供的其他
- 运行时定义的其他
我刚刚安装了带有 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
- 一些公约提供的其他
- 运行时定义的其他