C# 如何正确地将页面属性传递给partialview?
我试图利用带有剃须刀页面的局部视图。我四处搜索,尝试了多种方法,但没有一种方法对我有效 在我的条目/index.cshtml.cs中(代码隐藏) 在partialView\u TeamMember.cshtml上C# 如何正确地将页面属性传递给partialview?,c#,razor,lambda,asp.net-core-2.0,razor-pages,C#,Razor,Lambda,Asp.net Core 2.0,Razor Pages,我试图利用带有剃须刀页面的局部视图。我四处搜索,尝试了多种方法,但没有一种方法对我有效 在我的条目/index.cshtml.cs中(代码隐藏) 在partialView\u TeamMember.cshtml上 @page @model WebCrewLog.Models.TeamMember @{ } <h2></h2> <div class="panel panel-default"> <
@page
@model WebCrewLog.Models.TeamMember
@{
}
<h2></h2>
<div class="panel panel-default">
<div class="panel-body">
<div class="row">
<div class="col-lg-2">
//Here is where I'm getting an error.
<img class="img-circle" src="@Url.Content(Model.PhotoID)" style="width: 80%; height: 80%" />
</div>
<div class="col-lg-5">
<p>
<label class="text-success">@Html.DisplayFor(model => model.FirstName) @Html.DisplayFor(model => model.LastName)</label><br />
Hired Date:<label class="text-success">@Html.DisplayFor(model => model.HireDate)</label><br />
</p>
</div>
<div class="col-lge-5">
<p>
Position:<label class="text-success">@Html.DisplayFor(model => model.Position.Name)</label><br />
Shift: <label class="text-success">@Html.DisplayFor(model => model.Shift.Name)</label>
</p>
</div>
</div>
<div class="row">
</div>
</div>
</div>
@page
@模型WebCrewLog.Models.TeamMember
@{
}
//这里是我得到一个错误的地方。
@Html.DisplayFor(model=>model.FirstName)@Html.DisplayFor(model=>model.LastName)
租用日期:@Html.DisplayFor(model=>model.HireDate)
位置:@Html.DisplayFor(model=>model.Position.Name)
Shift:@Html.DisplayFor(model=>model.Shift.Name)
但只有在包含Model.propertyname时,我才会出错。如果我使用lambda express model=>model.propertyname,它就可以正常工作
我试图根据PhotoID字段显示团队成员图像,但我得到
NullReferenceException: Object reference not set to an instance of an object.
WebCrewLog.Pages._TeamMember_Page+<ExecuteAsync>d__0.MoveNext() in _TeamMember.cshtml
+
<img class="img-circle" src="@Url.Content(Model.PhotoID)" style="width: 80%; height: 80%" />
NullReferenceException:对象引用未设置为对象的实例。
WebCrewLog.Pages.\u TeamMember\u Page+d\u 0.MoveNext()在\u TeamMember.cshtml中
+
如果我不使用部分视图,而是将html放在同一个页面中,它就可以正常工作
我还尝试创建一个新的模型实例,比如@Html.Partial(“\u TeamMember”,new Models.TeamMember()),但这不起作用
那么,为什么它与lambda表达式一起工作,但如果我使用Model.propertyName,它就不工作了?我做错了什么 这可能与您的分部正在使用页面指令有关吗?是否有针对分部的指令?我自己还没用过。难以置信。。。看了所有的官方文件,都看不到这方面的任何东西。多么简单,绝对重要,但他们却什么也没说。非常感谢@ddeamaral。
@page
@model WebCrewLog.Models.TeamMember
@{
}
<h2></h2>
<div class="panel panel-default">
<div class="panel-body">
<div class="row">
<div class="col-lg-2">
//Here is where I'm getting an error.
<img class="img-circle" src="@Url.Content(Model.PhotoID)" style="width: 80%; height: 80%" />
</div>
<div class="col-lg-5">
<p>
<label class="text-success">@Html.DisplayFor(model => model.FirstName) @Html.DisplayFor(model => model.LastName)</label><br />
Hired Date:<label class="text-success">@Html.DisplayFor(model => model.HireDate)</label><br />
</p>
</div>
<div class="col-lge-5">
<p>
Position:<label class="text-success">@Html.DisplayFor(model => model.Position.Name)</label><br />
Shift: <label class="text-success">@Html.DisplayFor(model => model.Shift.Name)</label>
</p>
</div>
</div>
<div class="row">
</div>
</div>
</div>
NullReferenceException: Object reference not set to an instance of an object.
WebCrewLog.Pages._TeamMember_Page+<ExecuteAsync>d__0.MoveNext() in _TeamMember.cshtml
+
<img class="img-circle" src="@Url.Content(Model.PhotoID)" style="width: 80%; height: 80%" />