【发布时间】:2020-11-19 15:28:52
【问题描述】:
现在我有了一个控制器:
public async Task<IActionResult> Location()
{
Models.LocationModel Location = null;
//some logic
return View(Location);
}
这是视图:
@model Vishdo.Models.LocationModel
<div>
<h5>@Model.City</h5>
<span>@Model.Name</span>
<span>@Model.Phone</span>
</div>
当我通过 URL(https://localhost:44372/home/location) 直接访问视图时,一切正常。
现在我将它添加到 _Layout.cshtml 中,如下所示:
@Html.PartialAsync("/Views/Home/Location.cshtml")
运行后在ViewLocation.cshtml报错:
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=Sample.Views
StackTrace:
at AspNetCore.Views_Home_Location.<ExecuteAsync>d__0.MoveNext() in E:\Project\Sample\Views\Home\Location.cshtml:line 3
我在 Location 控制器中添加了一个断点,但发现它永远无法正常工作。所以Model总是为null,报这个错误。
另外,我将它添加到_Layout.cshtml 中,因为所有页面都需要此功能,而_Layout.cshml 没有控制器,所以我必须这样做。
我的代码有什么问题?我该如何解决?谢谢。
【问题讨论】: