0
我有5个下拉菜单,基本上显示“选择”,“是”和“否”。最初他们被设置为“选择”。一旦用户选择了一些东西,我将数据存储在一个cookie中(使用Jquery),并最终将其传递给ViewModel,以便我可以在Controller中使用它。在控制器视图中设置下拉列表的选择值
当用户刷新页面时,我希望这些下拉列表再次使用ViewModel中的值填充。
此刻,我有以下代码: -
里面查看我
<%: Html.DropDownList("FirstQuestYesNo", ViewData["FirstQuestYesNoData"] as SelectList, new { @class = "normalDropdowns" })%>
,并在我的控制器我有以下几点: -
var ddlYesNoData = new SelectList(new[]
{
new {ID="",[email protected]_Select},
new {ID="Yes",[email protected]_Yes},
new{ID="No",[email protected]_No},
},
"ID", "Name", 1);
//Refresh the YesNo dropdown with the correct vals
Dictionary<string, string> YesNoData = new Dictionary<string, string>();
YesNoData.Add("FirstQuestYesNoData", viewModel.FirstQuestYesNoValue);
YesNoData.Add("SecondQuestYesNoData", viewModel.SecondQuestYesNoValue);
YesNoData.Add("ThirdQuestYesNoData", viewModel.ThirdQuestYesNoValue);
YesNoData.Add("FourthQuestYesNoData", viewModel.FourthQuestYesNoValue);
YesNoData.Add("FifthQuestYesNoData", viewModel.FifthQuestYesNoValue);
foreach (var item in YesNoData)
{
ViewData[item.Key] = ddlYesNoData;
if (item.Value != null)
{
var selected = ddlYesNoData.Where(x => x.Value == item.Value).First();
selected.Selected = true;
}
}
所以基本上什么我正在做的是从viewModel获取每个下拉列表的值,然后尝试在View中设置该值。由于我正在做的,我得到所有的DropdownLists选项作为“选择”,而不是我的viewModel内的值。
问题是我不知道如何“定位”特定的DropDownList。我如何使用我的代码来控制Controller的DropDown(在本例中为“FirstQuestYesNo”)?
感谢您的帮助和时间。
噢,好容易!我怎么能看不到!谢谢Darin! – Johann