기본적으로 "선택", "예"및 "아니오"를 표시하는 5 개의 드롭 다운이 있습니다. 초기에는 "선택"으로 설정됩니다. 사용자가 무엇인가를 선택하면 쿠키 (Jquery 포함)에 데이터를 저장하고이를 ViewModel에 전달하여 컨트롤러에서 사용할 수 있도록합니다.컨트롤러에서보기에서 드롭 다운 목록의 선택된 값 설정 액션
사용자가 페이지를 새로 고치면이 드롭 다운 목록에 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 내에서 그 값을 설정하려고하는 것입니다. 내가 한 일의 결과로, 내 viewModel 내부의 값 대신에 "DropDown"옵션을 "Select"로 사용하고 있습니다.
문제는 특정 DropDownList를 "대상 지정하는"방법을 모르겠다는 것입니다. 내 코드를 사용하여 컨트롤러에서 DropDown (이 경우 "FirstQuestYesNo")을 어떻게 타겟팅합니까?
도움과 시간을 보내 주셔서 감사합니다.
오, 너무 쉽게! 나는 그것을 어떻게 볼 수 없었을 까! 대린 감사합니다! – Johann