2013-06-07 2 views
1

할당 할 수 없습니다. 사용자가 데이터베이스에서 자신의 프로필 정보를 검색하는 동안 적절한 값으로 드롭 다운 목록을 바인딩 할 수 없습니다.선택한 값을 Html.Dropdownlist MVC 4

사용자의 성별은 여성입니다. 사용자가 버튼 클릭에 대한 정보를 검색하는 동안 드롭 다운 목록은 "Male", "Female"및 마지막으로 "Other"로 기본값을로드합니다. 그러나, 나는 여성이 아닌 남성 "을 렌더링하고 싶다. 여기에 내 코드입니다. 형태에

버튼 클릭이 세부 사항을

case "btnGo": 
    IntialStage(); 
    item = onjLoad.ReadLoadPatientData(controlID["FirstrName"].ToString().Replace(",","")); 
    ViewData["PatientCharNumber"] = item.ChartNumber; 
    break; 
} 

로드 드롭 다운 값 InitialStage()

를 검색 할 수
IEnumerable<BindindClass> gender = onjLoad.LoadGenderMaster(); 
ViewData["GenderMaster"] = from c in gender 
          select new SelectListItem 

          { 
           Text = c.Text, 
           Value = c.Value, 
          }; 

보기

답변

1

내가 드롭 다운에서 선택한 값을 표시했던 한 아래 샘플,

@Html.DropDownListFor(model => model.Country, (IEnumerable<SelectListItem>)ViewData["CountryList"], new { id = "card_country", @class = "donation-ddlcountry" })

`공공 무효의 CountryList에 따라 (문자열 countryCode와) { 문자열 경로 =는 Server.MapPath (@ "~ \ Country.xml "); IEnumerable result = XElement.Load (경로)의 x부터 .Elements ("country") select x;

 var listItems = new List<SelectListItem>(); 

     foreach (var xElement in result) 
     { 
      listItems.Add(new SelectListItem 
      { 
       Text = xElement.Element("text").Value, 
       Value = xElement.Element("value").Value 

      }); 
     } 

     if (countryCode == string.Empty) 
     { 
      var selected = listItems.Where(x => x.Value == "US").First(); 
      selected.Selected = true; 
     } 
     else 
     { 
      var selected = listItems.Where(x => x.Value == countryCode).First(); 
      selected.Selected = true; 
     } 

     ViewData["CountryList"] = listItems.ToList(); 
    }` 
관련 문제