C# 当model.item为空时显示错误消息

C# 当model.item为空时显示错误消息,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我在一个视图中显示两个局部视图。局部视图显示良好。 但是如果模型值为null,如何在我的局部视图中显示错误消息。 下面是我的代码: 控制器: public ActionResult MyAccount(string email) { OrderModel objorder = new OrderModel(); var OrderDetails = objorder.GetOrderInfo(email);

我在一个视图中显示两个局部视图。局部视图显示良好。 但是如果模型值为null,如何在我的局部视图中显示错误消息。 下面是我的代码:

控制器:

  public ActionResult MyAccount(string email)
        {
            OrderModel objorder = new OrderModel();
            var OrderDetails = objorder.GetOrderInfo(email);
            if(OrderDetails == null)
            {
               // ViewBag.Message = "You have not placed any orders.";
                ModelState.AddModelError("NoOrders", "You have not placed any orders.");
                return View();
            }
            CustomerModel objcustomer = new CustomerModel();
            var CustomerDetails =  objcustomer.GetCustomerInfo(email);            
            return View(Tuple.Create(OrderDetails, CustomerDetails));
        }
看法

@模型元组
@Html.Partial(“MyOrders”)
@Html.Partial(“AccountInfo”)
局部视图1 @模型元组,IList>

 @using (Html.BeginForm())
    {   
        if (Model.Item1 != null) // Null reference unhandled by user code 
        {
            <div>
              @foreach(var item in Model.Item1)
              {
               @Html.DisplayFor(model => item.OrderID) 
              }
            </div>
        }
        else
        {
           <p>@Html.ValidationMessage("NoOrders", new { @class = "msg" })</p>
        }
    }
@使用(Html.BeginForm())
{   
if(Model.Item1!=null)//未经用户代码处理的null引用
{
@foreach(Model.Item1中的var项)
{
@DisplayFor(model=>item.OrderID)
}
}
其他的
{
@ValidationMessage(“NoOrders”,new{@class=“msg”})

} }
我已传递要在部分视图1中处理的空值的验证消息。 但我收到的是未设置对象引用和未处理的空引用消息。

我的代码有什么错误。?任何建议都会很有帮助

您的
模型
null

这:

在视图中创建
null
模型。因此:

if (Model.Item1 != null)
// ^^^^^^ THIS IS NULL!
…行不通

你需要:

if (Model != null)

尽管我必须说。。你的应用程序逻辑/流程让我很难过。在MVC中实现这一点有多种方法。。传递
null
模型可能是更丑陋的方式之一。

您的
模型
null

这:

在视图中创建
null
模型。因此:

if (Model.Item1 != null)
// ^^^^^^ THIS IS NULL!
…行不通

你需要:

if (Model != null)

尽管我必须说。。你的应用程序逻辑/流程让我很难过。在MVC中实现这一点有多种方法。。传递
null
模型可能是更丑陋的方式之一。

是的。它使元组的整个模型为null.Yes。它使元组的整个模型为null。