{x:Null}
не будет кликабельным, Transparent
будет.
return new[] { new SelectListItem { Text = ... } }.Concat(
from s in db.List
orderby s.Descript
select new SelectListItem
{
Text = s.Descript,
Value = s.ID.ToString(),
Selected = (s.ID == ID)
});
Поскольку вы используете ASP.NET MVC, вы можете сделать это в представлении, указав значение для параметра optionLabel метода DropDownField HtmlHelper - например:
htmlHelper.DropDownList("customerId", selectList, "Select One");
Ввод этого типа кода на уровне пользовательского интерфейса, вероятно, более уместно, чем на уровне данных. Одним из недостатков этого является то, что ваше поле выбора будет иметь пустое строковое значение, а не «0» для параметра «Выбрать один», но на самом деле это не проблема, поскольку вы можете рассматривать это как нулевое значение, если действие вашего контроллера может принимать обнуляемое int для соответствующего параметра - например,
public ActionResult DoSomething(int? customerId)
{
if(customerId != null)
{
// do something with the value
}
}
var list = from s in db.List
orderby s.Descript
select new SelectListItem
{
Text = s.Descript,
Value = s.ID.ToString(),
Selected = (s.ID == ID)
};
list.Insert(0, new SelectListItem { Text = "Please Select...", Value = string.Empty });
return list;
сначала поместите значение по умолчанию в список
list.add (элемент списка по умолчанию)
, а затем выполните list.addrange (запрос выбора linq)
ура
Вот что я сделал: я прочитал свои значения из файла XML в список IList. Затем я вставил новую запись в список IList в позиции 0. Затем создаю список выбора из списка IList.
IList
mydata = (из tmp в myXML.Descendants ("R"). ToList () выберите новый MY_DATA { NR = tmp.Attribute ("NR"). Value, NA = tmp.Attribute ("NA"). Value }). ToList
(); mydata.Insert (0, new My_DATA () {NR = "", NA = "--Щелкните, чтобы выбрать--"});
SelectList mylist = new SelectList (mydata, "NR", "NA ");