【发布时间】:2018-01-25 16:44:11
【问题描述】:
我的 ASP.NET Core 1.1 应用程序中有以下 ViewModel:
public class HomepageViewModel
{
[Required]
public string Description{ get; set; }
}
上面提到的 ViewModel 用于具有如下输入字段的视图中。 如您所见,我正在尝试使用 nameof() 指定输入标签助手的 asp-for 属性,以便在我重命名 ViewModel 中的属性时,更改也将应用于视图。
@model HomepageViewModel
[... various HTML Code...]
<input asp-for="@nameof(Model.Description)" class="form-control" />
无论如何这都不起作用,因为我收到以下错误消息:
System.InvalidOperationException - 模板只能用于字段访问、属性访问、单维数组索引或单参数自定义索引器表达式。
有没有办法像我尝试的那样使用 nameof(),或者出于任何特定原因不允许使用它?
【问题讨论】:
-
尽管它可能看起来只是一个字符串,但实际上它不仅仅是一个字符串,并且为
asp-for等标签助手属性提供了完整的 Intellisense。这实际上是这里的问题:它需要一个模型表达式(它提供了你想要的行为),但它却得到了一个字符串。
标签: asp.net-core