같은 드롭 다운 선택 값의 목록을 유지하기 위해 다음 GET을 수행에문제 내가보기 모델 속성이
private ListDictionary _claimDropdownValueCollection = new ListDictionary();
public ListDictionary ClaimDropdownValueCollection { get { return _claimDropdownValueCollection; } set { _claimDropdownValueCollection = value; } }
를, 내가 반복하고 "드롭 형"이름을 포함하는 내보기 모델도 다른 ListDictionary 이상 :
@foreach (System.Collections.DictionaryEntry de in Model.CCSetting_ClaimDropdownTypeCollection) {
<div class="formRow">
<label>@EverythingToDoWith_CCSetting_ClaimDropdownTypes.getDropdownTypeName(Model.ccClaim.clientID, Convert.ToInt32(de.Key))</label>
<div class="formRight searchDrop">
@Html.DropDownListFor(m => m.ClaimDropdownValueCollection[@de.Key], (IEnumerable<SelectListItem>) @de.Value, new { @class = "chzn-select", @data_placeholder="Choose an option...", @style="width: 350px;" })
</div>
<div class="clear"></div>
</div>
}
그래서 기본적으로,이 드롭 다운의 무리를로드, 그들의 '레이블은'사전에 키에 따라 인쇄됩니다. 각 드롭 다운에 대한 '값'은 각 사전의 VALUE에서 가져옵니다. 여기에는 각각 IENUMERABLE이 포함됩니다.
지금까지 모두 좋았습니다. 이제 사용자는 각 드롭 다운에서 선택을하고 HTTP POST를 수행합니다.
ClaimDropdownValueCollection[1]:2
ClaimDropdownValueCollection[2]:5
ClaimDropdownValueCollection[3]:
ClaimDropdownValueCollection[4]:11
은 그래서 키 1,2,3,4 4 드롭 다운을 것입니다 (내 키가 더 복잡 될 것입니다, 간단한 키를 여기 내 예의를 위해 : 브라우저 개발자 도구에서, 나는 다음과 같은 데이터를 다시 게시되고 참조 술)와 4 개 중 3 개가 선택되어 있으므로 선택된 ID 2, 5, 11을 다시 전달합니다.
하지만 내부적으로 디버깅 할 때 뷰 모델 listdictionary 객체의 일부로이 데이터를 볼 수 없습니다. 게시 된 데이터를받는 [HttpPost] 컨트롤러 메소드. "ClaimDropdownValueCollection"속성이 비어 있음을 보여줍니다.
내가 뭔가처럼 말 할 수있을 것으로 기대하고있다 :
foreach (DictionaryEntry de in vm.ClaimDropdownValueCollection) {
//do something here with de.Key and de.Value
}
이 그래서 내가 RAZOR 코드에서 잘못하고 있어요 ... 도와주세요!