我有一個下拉列表,它使用來自SQL表(使用linq和MVC5,ASP.NET等)的相關數據構建列表。目前我的下拉是這樣在控制器上:具有「添加新」選項的Razor DropDown
ViewData["TeamList"] = new SelectList(db.Players.Select(p => p.Team).Distinct(), TeamFilter);
和觀點如下:
<span class="pull-right searchDD" id="TeamDD">Team: @Html.DropDownList("TeamList", "-All-")</span>
我想在列表的頂部,上面寫着「新添加」添加一個選擇並且該選擇會將我的「創建」操作稱爲團隊控制器。我會這麼做嗎?可能嗎?
我想我或許能建立與數據庫的數據列表,然後添加添加新的選項到這個列表等的開始:
List<SelectItemList> TeamList = new List<selectItemList>();
TeamList.Add(new SelectListItem { Text = "Add NEW", Value = "99" });
foreach(var team in db.Players.Select(p => p.Team).Distinct())
{ TeamList.Add{ Text = team.Name, Value= team.id };}
然後使用jQuery來n監視器爲99的值被選中在下拉列表中,然後從那裏加載一個Create Controller Action,但這看起來非常繁瑣且代碼密集。
有沒有更簡單的方法?如果不是,我如何從JQUERY加載控制器/動作(我也可以這樣搜索)...
這種方法對我來說聽起來很合理。我不會使用99.我會使用負數或0或空值來避免可能與有效玩家ID衝突(如果您使用ID作爲選項值) – Shyju
您自己的建議是添加額外的唯一方法,但爲什麼不只在鏈接或按鈕旁邊添加一個新項目的下拉菜單? –
確實,用戶體驗明智,你真的應該使用一個按鈕。您甚至可以使用[引導程序輸入組](http://getbootstrap.com/components/#input-groups)功能將其「附加」到您的下拉列表中。你應該問一個用戶是否會覺得直覺點擊一個'