【发布时间】:2018-01-03 06:20:59
【问题描述】:
在继承自PageModel 的代码隐藏类CreateModel 中,我有Movie 属性如下。
[BindProperty]
public Movie Movie { get; set; }
Movie有很多属性,比如Title等
在 Razor 页面中,标签助手访问Movie.Title,如下所示。
<label asp-for="Movie.Title" ></label>
<input asp-for="Movie.Title" />
<span asp-validation-for="Movie.Title" ></span>
问题
为什么我们不能通过Model访问Movie.Title如下?
<label asp-for="Model.Movie.Title" ></label>
<input asp-for="Model.Movie.Title" />
<span asp-validation-for="Model.Movie.Title" ></span>
据我了解,Model 是访问视图和控制器之间交换的所有内容的“入口点”,我知道 Razor 页面只是 MVC 的一个子集。
编辑
错误信息:
严重性代码描述项目文件行抑制状态 错误 CS1061“CreateModel”不包含“Model”的定义,并且找不到接受“CreateModel”类型的第一个参数的扩展方法“Model”(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
你有什么错误吗?
-
我认为最好在问题中添加错误,这样会增加获得答案的机会!
-
您可以尝试使用
@,例如<label asp-for="@Model.Movie.Title" ></label>他们三个?基于Introduction to Tag Helpers in ASP.NET Core。 -
当然 :) 很高兴我能帮上忙。
标签: c# asp.net razor asp.net-core