2017-05-08 24 views
0

미리 선택된 값으로 dropdonwlist를 채울 수 없습니다. 미리 선택된 값으로 채우기는 뷰백 방법과 함께 작동합니다. 그러나 모델 기반 방법으로 동일한 방법을 시도 할 때 운이 없음을 알 수 있습니다.미리 선택된 값으로 DropDownlist를 설정할 수 없습니다.

public ActionResult Edit(int?id) 
{ 
    Job_ClientVM Vm = new Job_ClientVM(); 
    Vm.Job_Info = Get_jobdetails(id); 
    //4 is desired pre-selected ID value  
    Vm.Recruiters = new SelectList(db.Recruiter_Info.ToList(), "Id", 
    "Recruiter_Name",4); 
} 

은 여기 내보기 당신은 모델을 뷰에 통과하기 전에 GET 방법에 SelectedRecruiterID의 값을 설정해야

@Html.DropDownListFor(Model => Model.SelectedRecruiterID, Model.Recruiters, "Assign Recruiter", new { @class = "form-control" }) 

답변

1

입니다. SelectList 생성자에서 선택한 속성 (4 매개 변수)를 설정하는 것은 무의미 것을

public ActionResult Edit(int?id) 
{ 
    Job_ClientVM Vm = new Job_ClientVM(); 
    Vm.Job_Info = Get_jobdetails(id);  
    Vm.Recruiters = new SelectList(db.Recruiter_Info.ToList(), "Id", "Recruiter_Name"); 
    // Set the value of SelectedRecruiterID 
    Vm.SelectedRecruiterID = 4; 
    // Pass the model to the view 
    return View(Vm); 
} 

주 -의 모델 속성 (내부적 방법은 값을 기준으로 Selected 속성을 새로운 IEnumerable<SelectListItem>를 구축 및 설정에 바인딩 할 때 무시

+0

당신의 솔루션이 작동하지만 Vm.SelectedRecruiterID = Vm.Job_Info.Recruiter_ID;를 할당하려 할 때 int 유형을 int 형식으로 변환 할 수 없습니다. int 형 변환을 할 수 없습니다. proceeed하는 방법에 대한 아이디어 – Arun3x3

+0

귀하의 모델이 무엇인지 또는 'SelectedRecruiterID' 및'Job_Info.Recruiter_ID' 유형이 분명히 그것들은 다르다. 내가 싶었 "{; 세트에서 얻을 공공 Null 허용 SelectedRecruiterID"나는 에 SelectedRecruiterID을 변경하여 문제를 해결' –

+0

, 모델을 보지 않고 추측은'Vm.SelectedRecruiterID = Vm.Job_Info.Recruiter_ID.GetValueOrDefault()이다 드롭 다운 목록에 대한 우수 사례가 있는지 물어보십시오. 감사합니다 – Arun3x3