我使用從數據庫檢索的數據填充DropdownList
。我想添加默認的空字符串。我正在嘗試SelectedValue property
沒有效果。我想已經null
和string.empty
像下面樣向selectList添加空字符串作爲SelectedValue
ViewBag.Project = new SelectList(unitOfWork.projectRepository.Get(), "ProjectName", "ProjectName",string.Empty);
DropDownList的聲明中查看
@Html.DropDownList("Project", null, new { @class="form-control"})
換算成:
<select class="form-control" id="Project" name="Project">
<option value="Sample project">Sample project</option>
<option value="Second project">Second project</option>
</select>
通過有與無的String.Empty選項。
我應該在我的代碼更改
由於@Alexander建議我用ToList轉換它,現在這是我的代碼:
var items = unitOfWork.projectRepository.Get();
items=items.ToList<Project>().Insert(0, new Project { ProjectId = 1, ProjectName = "" });
ViewBag.Project = new SelectList(items, "ProjectName", "ProjectName",string.Empty);
但這拋出異常:Error Cannot implicitly convert type 'void' to 'System.Collections.Generic.IEnumerable<magazyn.Models.Project>
的可能重複[MVC - 的SelectList的清除默認選中的值(http://stackoverflow.com/questions/3780614/mvc-clear-default-selected-value-of-selectlist) – Andrei
在修正案中,將第二行代碼分成兩部分;你正試圖將Insert()的結果賦值給項 - Insert()不返回一個值(是void)。在與Get相同的行上執行ToList以更改聲明 – Dave