我在弄清楚如何在将模型传递给局部变量以及处理模型中的空值时处理空值时遇到问题。
在此 block 中:
@section TaskBar{
@Html.Partial("_TaskBar", Model);
}
我收到此错误: e:\Views\Shared_TaskBar.cshtml(107): 错误 CS1002: ;预计
???
此外,部分中存在空值问题
我尝试过: this.userID = ko.observable("@if(Model.UserID == null){"null"}else{Model.UserID}");
和
this.userID = ko.observable("@(Model.UserID == null)?"null" :Model.UserID");
与;等等...
所以我的问题是..我的部分经常会传递一个空模型..那么如何处理部分方法以及如果为空如何在 View 中处理?谢谢!
最佳答案
我不清楚你的 Model null 是什么意思,因为你的示例检查 UserId 是否为 null 而不是模型本身。因此,假设您打算检查整个模型,我个人将在 View 开头使用一个简单的 if
。
像这样的事情
@model MyViewModel
@if (Model != null) {
<div>
@Model.UserId
</div>
}
或者,当您定义 RenderSection
时,会传递 Required=false
,以便在声明该部分时,无论模型是否有值(value),您都可以有选择地执行此操作。
在你的layout.cshtml中
@RenderSection("Taskbar", false)
在您的页面中
@if (Model != null) {
section TaskBar{
@Html.Partial("_TaskBar", Model);
}
}
关于asp.net-mvc-3 - 处理部分和空模型值中的空模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7473009/