如何创建一个空的选择列表
本文关键字:选择 列表 一个 何创建 创建 | 更新日期: 2023-09-27 18:13:14
我有以下的操作方法:
public JsonResult LoadSitesByCustomerName(string customername)
{
var customerlist = repository.GetSDOrg(customername)
.OrderBy(a => a.NAME)
.ToList();
var CustomerData;
CustomerData = customerlist.Select(m => new SelectListItem()
{
Text = m.NAME,
Value = m.NAME.ToString(),
});
return Json(CustomerData, JsonRequestBehavior.AllowGet);
}
,但目前我在var CustomerData;
上得到以下错误:
implicitly typed local variables must be initialized
所以我不知道如何创建一个空的选择列表分配给var变量?由于
使用此命令创建一个空的SelectList
:
new SelectList(Enumerable.Empty<SelectListItem>())
Enumerable.Empty<SelectListItem>()
创建一个空序列,该序列将传递给SelectList
的构造函数。这是必要的,因为SelectList
没有没有参数的构造函数重载。
你可以试试这个:
IEnumerable<SelectListItem> customerList = new List<SelectListItem>();
你得到的错误是合理的,因为
var关键字指示编译器从初始化语句右侧的表达式推断变量的类型。
另一方面,你可以试试下面这个:
var customerList = customerlist.Select(m => new SelectListItem()
{
Text = m.NAME,
Value = m.NAME.ToString(),
});
第二次赋值之所以有效,是因为这样编译器就可以推断出变量的类型,因为它知道LINQ查询返回的类型。
该错误意味着您不能在不提供值的情况下声明var
变量,例如:
var double1 = 0.0; // Correct, compiler know what type double1 is.
var double2; // Error, compiler not know what type double2 is.
您需要为var CustomerData;
分配一个值,例如:
var CustomerData = customerlist.Select(m => new SelectListItem()
{
Text = m.NAME,
Value = m.NAME.ToString(),
});
试试这个:
customerlist = new[] { new SelectListItem { } };
声明变量时初始化:
var CustomerData = customerlist.Select(m => new SelectListItem()
{
Text = m.NAME,
Value = m.NAME.ToString(),
});
空列表项,默认为
var area = new[] { new tbl_Area { AreaID = -1, AreaName = "Please Select Main Area" } };
tbl_Area可以是一个类或数据模型
class tbl_Area{
public int AreaID {get;set;}
public string AreaName {get;set;}
}