asp.net-mvc-3 - 处理部分和空模型值中的空模型

标签 asp.net-mvc-3 razor null

我在弄清楚如何在将模型传递给局部变量以及处理模型中的空值时处理空值时遇到问题。

在此 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/

相关文章:

asp.net-mvc - 底层 View 设置后如何访问 ViewBag.Title?

javascript - 无法使用 Jquery 获取 @Html.RadioButtonFor 的值,已检查属性未更改

c# - 空对象引用

java - getter 返回 null

c# - 输入字符串的格式不正确

asp.net-mvc-3 - IIS7.5 上的 ASP.NET MVC 3 Intranet 站点 w Windows 身份验证提供 401.3 并且尝试登录时请求的文件授权失败

c# - Razor 组件的源生成器不工作

asp.net-mvc - ASP.NET MVC 3 (Razor) 应用程序中的多种语言

c# - C# switch 语句的默认标签将如何处理可为 null 的枚举?

c# - 如何访问传递到部分 View 中的匿名类型对象?