我一直有這個麻煩,一直沒能找到一種方法來解決我的問題......選擇數值
我有一個選擇列表,我希望允許用戶選擇多個,我正在使用ASP.NET。在最初選擇它們之後,我希望它們能夠稍後編輯它們的選擇。在使用ListBoxFor時,填寫所選值時遇到問題。我猜測問題在於MultiSelectList。
我試過使用數組,列表和字典來包含選定的值,但是在它生成的頁面上沒有任何選擇。通過使用斷點並拆分代碼以便我可以看到MultiSelectList,似乎SelectedValues屬性總是與傳遞給構造函數的內容相同。
型號:
public class UniversityStrategicGoalsModel
{
public Dictionary<string, string> goals { get; set; }
public UniversityStrategicGoalsModel()
{
goals = new Dictionary<string, string>()
{
{"NA", "Not Applicable"},
{"1.1","1.1 blah blah blah"},
{"1.2","1.2 and many more strategic goals"}
};
}
}
控制器:
ProjectViewModel viewModel = new ProjectViewModel();
viewModel.Project = db.Projects.Find(id); // Gets unique project
viewModel.allGoals = new UniversityStrategicGoalsModel();
return View(viewModel);
查看:
@Html.ListBoxFor(model => model.Project.UniversityGoals, new MultiSelectList(Model.allGoals.goals, "Key", "Value", Model.Project.UniversityGoals.Split(','))
// An example of model.Project.UniversityGoals could be "1.1,1.2"
在此之後(使用對象而不是字典的列表)並沒有幫助:http://ittecture.wordpress.com/2009/04/30/tip-of-the-day-198-asp-net-mvc-listbox-controls/
我也嘗試製作字典的克隆,但只使用我想要的項目,並在我選擇的對象位於數組中(並再次在列表中)時傳遞值(而不是鍵)數組。
我編輯了你的標題。請參見「[應的問題包括‘標籤’,在他們的頭銜?(http://meta.stackexchange.com/questions/19190/)」,這裏的共識是「不,他們不應該」。 –
對不起,我沒有太多的使用Stack Overflow。這看起來像我的標題是如此普遍,以便正確命名標籤是必要的。我事先想到了這一點,而且我可能本不應該第二次猜測自己。唉,現在我知道這個命名約定:D – Pluto
你當然可以改進標題。 _about_「ListBox中的選定值」是什麼? –