我用这个方法来填充网格视图的数据源,但是当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
};
}
它给出了第二行警告[当视图状态为空时]。表达式始终为false
为什么有警告,当它在逻辑上是正确的时候!
答案 0 :(得分:0)
从您的代码段开始,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>;
}