我在我创建的视图中有以下内容,但无法识别model.UserName
:
@model AcmeMVC.Models.SelectUserRolesViewModel
@{
ViewBag.Title = "User Roles";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Roles for user @Html.DisplayFor(model => model.UserName)</h2>
如果我添加:@using AcmeMVC.Models
它会起作用。
但是,我在web.config
文件夹的Views
中有此条目:
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
.....
<add namespace="AcmeMVC" />
<add namespace="AcmeMVC.Models" />
.....
我认为这样做会使我不需要using
声明,但我仍然这样做。
有没有人知道我在这里做错了什么?
答案 0 :(得分:1)
修改此行
<h2>Roles for user @Html.DisplayFor(model => model.UserName)</h2>
所以就像这样
<h2>Roles for user @Html.DisplayFor(m=>m.UserName)</h2>
@model
是指示您希望在视图中使用强类型模型类的指令。它不是对象实例的引用。要访问View
中的模型,您可以使用表达式(即m=>m.Property
)