2011-04-28 4 views
5

드롭 다운 및 뷰백에 문제가 있습니다. (applicationGuid)이 완벽하게 작동MVC 3 ViewBag에서 드롭 다운 값 선택

 applicationGuid = new Guid(form["applicationList"]); 

     var applications = _applicationRepository.List(); 

     ViewBag.applicationList = new SelectList(applications, "Id", "Name", applicationGuid); 

및 뷰와 이전에 선택한 값을 반환 : 나는 내 컨트롤러에 다음 코드를 사용하여 드롭 다운을 설정하고

@Html.DropDownList("applicationList", "") 

지금 내가 사용하고자하는 이 뷰에 전달 되더라도 (

@Html.DropDownList("applicationList", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" }) 

을하지만, 어떤 이유로, 선택된 값이 렌더링되지 않습니다 내가 할 수있는 자체 : 나는 드롭 다운에 몇 가지 속성을 추가 할 때 다음 코드 ViewBag SelectList의 올바른 항목에 대해 e selected = "true"). (이 하나가이 = "선택"선택한)로

두 가지 예는 위의 렌더링 :

<select id="applicationList" name="applicationList"><option value=""></option><option selected="selected" value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option><option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option></select> 

과 같은 (선택이 사라를!) :

<select class="required" id="applicationList" name="applicationList" rel="0"><option value=""></option><option value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option><option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option></select> 

사람이 설명 할 수 내가 여기서 잘못하고있는 것, 왜 그것이 선택된 가치를 잃어 버리고있는가? 보기 데이터 항목의 이름이 충돌 할 수없는 방법에 들어가는 여러 게시물을 발견했습니다. 그러나이 이름을 임의의 이름으로 제거하고 아무 것도 작동하지 않는 것 같습니다! 이것은 MVC3에서 문제입니까?

답변

14

Html.DropDownList()에 대한 매개 변수로 SelectList을 전달하면 실제 드롭 다운 목록과 이름이 같지 않은 것 같습니다.

코드를 복사했고 동일한 문제가 발생했습니다.

는하지만 최대한 빨리

@Html.DropDownList("applicationListX", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" }) 

@Html.DropDownList("applicationList", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" }) 

변경으로이 작업 출력 제작 :

<select class="required" id="applicationListX" name="applicationListX" rel="0"><option value=""></option> 
<option selected="selected" value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option> 
<option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option> 
</select> 

내가 그런 경우 이유를 알고하지 않습니다,하지만 거기에 해결 방법.

+0

카슨의 답장을 보내 주셔서 감사합니다. 나는 이미 이것을 시도하고 그것이 나를 위해 작동하지 않았다. 그냥 다시 시도하고 여전히 같은 출력. 내가 너와 다르게하고 있는지 잘 모르겠다. – user728848

+0

잊어 버려 ....이 일을 !! 내가 이름을 바꿀 때 다음과 같은 코드를 변경하는 것을 잊어 버렸습니다 : if (form [ "applicationListX"]! = ""&& form [ "applicationListX"]! = null)applicationGuid = new Guid (form [ "applicationListX "])); 그래서 저는 제 가치를 잃고있었습니다! 당신의 도움을 주셔서 감사합니다. – user728848

+0

고마워요! 이제는 완벽하게 작동합니다. 나는 이것을 버그라고 선언 할 것이다 ... – dampee