Asp.net 无法根据Null计算viewState
我使用此方法填充网格视图的数据源,但对于Asp.net 无法根据Null计算viewState,asp.net,c#-4.0,object-initializers,Asp.net,C# 4.0,Object Initializers,我使用此方法填充网格视图的数据源,但对于getnew为false时,它不会返回任何值,只返回一个包含单个空值的列表 private List<T> GetAll_T(bool getNew) { if (getNew) return (ViewState["T"] = Get_T()) as List<T>; //Get_T() returns a CustomList
getnew
为false
时,它不会返回任何值,只返回一个包含单个空值的列表
private List<T> GetAll_T(bool getNew)
{
if (getNew)
return (ViewState["T"] = Get_T()) as List<T>;
//Get_T() returns a CustomList
return new List<T>
{
ViewState["T"] != null ?
ViewState["T"] as T:
(T)(ViewState["T"] = Get_T()) Collection
};
}
private List GetAll\u T(bool getNew)
{
if(getNew)
返回(ViewState[“T”]=Get_T())作为列表;
//Get\u T()返回自定义列表
返回新列表
{
ViewState[“T”]!=null?
视图状态[“T”]为T:
(T) (ViewState[“T”]=Get_T())集合
};
}
它为第二行[当视图状态为空时]提供警告。表达式始终为false
为什么会有警告,当它在逻辑上是正确的 从您的代码片段中不清楚
CustomerService.GetAllCustomer()返回的内容
使用它时,既像在函数的第(2)行返回列表一样,又像在第(8)行返回单个对象一样
我建议这样写
private List<CustomerMaster> GetAllCustomer(bool getNew)
{
if (getNew || null == ViewState["CustomerDataset"])
ViewState["CustomerDataset"] = CustomerService.GetAllCustomer();
return ViewState["CustomerDataset"] as List<CustomerMaster>;
}
私有列表GetAllCustomer(bool getNew)
{
如果(getNew | | null==ViewState[“CustomerDataset”])
ViewState[“CustomerDataset”]=CustomerService.GetAllCustomer();
将ViewState[“CustomerDataset”]返回为列表;
}
从您的代码片段中不清楚CustomerService.GetAllCustomer()返回什么
使用它时,既像在函数的第(2)行返回列表一样,又像在第(8)行返回单个对象一样
我建议这样写
private List<CustomerMaster> GetAllCustomer(bool getNew)
{
if (getNew || null == ViewState["CustomerDataset"])
ViewState["CustomerDataset"] = CustomerService.GetAllCustomer();
return ViewState["CustomerDataset"] as List<CustomerMaster>;
}
私有列表GetAllCustomer(bool getNew)
{
如果(getNew | | null==ViewState[“CustomerDataset”])
ViewState[“CustomerDataset”]=CustomerService.GetAllCustomer();
将ViewState[“CustomerDataset”]返回为列表;
}