ビューに 2 つの部分ビューを表示しています。部分的なビューがうまく表示されます。しかし、モデルの値が 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));
}
意見
@model Tuple<IList<MvcApplication1.Models.OrderModel>, IList<MvcApplication1.Models.CustomerModel>>
@Html.Partial("MyOrders")<br/>
@Html.Partial("AccountInfo")
部分ビュー 1 @model タプル、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>
}
}
部分ビュー 1 で処理する null 値の検証メッセージを渡しました。しかし、オブジェクト参照が設定されておらず、null 参照が未処理のメッセージを取得しています。
私のコードの間違いは何ですか? どんな提案も役に立ちます