SelectExtension의 DropDownList 메서드를 사용할 때 이상한 동작이 발견되었습니다. IEnumerable < SelectListItem> 중 하나가있는 그들 중 하나가 있습니다 선택한 속성은 'true'로 설정됩니다. 그러나 다음 방법으로 전달할 때 속성이 'false'로 재설정되고 따라서 드롭 다운 컨트롤에 적절한 항목이 선택되지 않습니다.SelectExtensions.DropDownList SelectListItem의 Selected 속성을 다시 설정합니다.
public static MvcHtmlString DropDownList (이 HtmlHelper htmlHelper, 문자열 이름, IEnumerable selectList);
SelectList 클래스를 사용하고 SelectedValue 속성을 지정했지만 여전히 올바른 < 옵션> 태그가 선택되지 않았습니다.
내가 선택한 값을 유지하는 방법에 대한 아이디어가 있으십니까?
은 해킹을 썼는지하지만
아래 MVC에서 방출되는 HTML을 사용하기 전에 선택한 옵션을 변경하는 코드 해킹이 솔루션을 선호 할 것입니다. 나는이 해결책이 마음에 들지 않지만 어떻게 해야할지 모르겠다. 그것은 html.ViewData
에 보이는 아래로 당신의 하락의 이름과 일치하는 키 (이 경우 propertyName
)를 발견하고 대신이 값을 사용하려고하기 때문에
// the following is a hack due to a precived MVC 3 bug
var html = SelectExtensions.DropDownList(helper, propertyName, source).ToHtmlString();
html = html.Replace("selected=\"selected\"", string.Empty);
html = html.Replace(string.Format("value=\"{0}\"", source.SelectedValue), string.Format("value=\"{0}\" selected=\"selected\"", source.SelectedValue));
방법이 헬퍼를 사용하고 있습니까? 모델 구조, 컨트롤러 및 문제에 대한 더 많은 가시성을 제공하는 조치로 구성된 전체 예제를 보여주십시오. 현재 귀하의 질문은 내게 전혀 의미가 없습니다. –