【发布时间】:2017-05-11 15:24:08
【问题描述】:
我在模型中有数据,我曾经将该数据存储在会话中,如下所示在控制器中
if (providerListingModel.ServiceDetails != null && providerListingModel.ServiceDetails.Count > 0)
Session["ServiceDetails"] = providerListingModel.ServiceDetails;
else
Session["ServiceDetails"] = null;
为了检索,我将逻辑用作
if (Session["ServiceDetails"] != null)
{
if (providerListingModel.ServiceDetails == null)
{
List<ServiceDetail> sam = (List<ServiceDetail>)Session["ServiceDetails"];
foreach (var items in sam)
{
var sd = new ServiceDetail();
sd.Id = items.Id;
sd.CategoryServiceId = items.CategoryServiceId;
sd.ServiceType = items.ServiceType;
sd.ServicePrice = items.ServicePrice;
sd.IsSelected = items.IsSelected;
sd.ProviderListingId = providerListingModel.ProviderListingId;
providerListingModel.ServiceDetails.Add(sd);
}
}
Session["ServiceDetails"] = null;
}
会话包含数据但在 providerListingModel.ServiceDetails.Add(sd);它抛出空异常。 ServiceDetails 是一个类,它包含项目列表
namespace xyz.DAL
{
using System;
using System.Collections.Generic;
public partial class ServiceDetail
{
public int Id { get; set; }
public int ProviderListingId { get; set; }
public Nullable<int> CategoryServiceId { get; set; }
public string ServiceType { get; set; }
public Nullable<int> ServicePrice { get; set; }
public string CustomeService { get; set; }
public Nullable<bool> IsSelected { get; set; }
public virtual CategoryService CategoryService { get; set; }
public virtual ProviderListing ProviderListing { get; set; }
}
}
我错过了一些代码吗? 因为我是新手,所以我不知道我做错了什么
【问题讨论】:
-
似乎 providerListingModel.ServiceDetails 的值为空...列表项不应为空,它应该是要插入的空集合。所以创建新实例并添加项目
-
你能给我1个示例代码吗
-
if(providerListingModel.ServiceDetails ==null) providerListingModel.ServiceDetails = new List
();
标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-3 model-view-controller