2014-04-24 3 views
1

와 나는 아래와 같은 뷰 모델이 : 나는 BrandID이사용 @ Html.DropDownList 뷰 모델

public ActionResult Create() 
    { 
     ViewBag.WhBrandId = new SelectList(db.WhBrand, "Id", "Name"); 
     ViewBag.WhStockCardId = new SelectList(db.WhStockCard, "Id", "Name"); 
     ViewBag.WhLocationId = new SelectList(db.WhLocation, "Id", "Name"); 
     return View(); 
    } 

:

public class WhItemForm 
{ 
    public virtual WhItem WhItem { get; set; } 
    public virtual WhItemStock WhItemStock { get; set; } 
} 

그리고 내 컨트롤러에서

, 내가 ViewBag가 선택 아래 목록을 채우기 위해 사용을 내 WHITEM 모델의 속성, 여기 내 WHITEM 모델입니다.

<div class="form-group"> 
      @Html.LabelFor(model => model.WhItem.WhBrandId, "WhBrandId", new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.DropDownList("WhBrandId", String.Empty) 
       @Html.ValidationMessageFor(model => model.WhItem.WhBrandId) 
      </div> 
     </div> 

내가 알고, 내가 있기 때문에 WhItem.WhBrandId이 값을 전달해야

public class WhItem 
{ 
    public int Id { get; set; } 

    public int WhBrandId { get; set; } 
    public virtual WhBrand WhBrand { get; set; } 

} 

내가보기에서 데이터를 게시 , 내가 WhBrandID, 아래와 같이 내 시야를 설정할 수 없습니다입니다 내보기에서 viewmodel을 사용하고 있습니다. @ html.TextBoxFor에 대해이 작업을 수행 할 수 있지만 컨트롤러에 WhItem.WhBrandId 값을 전달하도록 내 드롭 다운 목록을 수정하는 방법은 무엇입니까?

감사

+1

당신이'DropDownListFor'를 사용할 수 있습니까? 마찬가지로 @Html.DropDownListFor (model => model.WhItem.WhBrandId, ViewBag.WhBrandId)'? – DaveParsons

+0

나는 이것이 내 대답이되어야한다고 생각하지만 문법 오류가 발생합니다. 나는 새로운 목록으로 사용자 viewbag을 허용합니까? – umki

+1

구문 오류 란 무엇입니까? ViewBag를 사용하지 않으므로 확실하지 않습니다. 그러나 'SelectList'즉, (SelectList) ViewBag.WhBrandId'로 명시 적으로 캐스팅해야합니까? – DaveParsons

답변

4

우선 나는이 같은 컨트롤러를 수정 제안 : 그 후

public ActionResult Create() 
    { 
     ViewBag.SelectList = new List<SelectListItem> 
     { 
      new SelectListItem{Text = "Text",Value = "Value"}, 
      new SelectListItem{Text = "Text",Value = "Value"}, 
      new SelectListItem{Text = "Text",Value = "Value"} 
     }; 

     return View(); 
    } 

이에보기를 편집 :

@Html.DropDownListFor(x => x.WhItem.WhBrandId, (List<SelectListItem>)ViewBag.SelectList) 
+0

뷰백 내의 컨트롤러에서 새 List 을 가져 오려고합니다. 코드를 편집 해 주시겠습니까? 뷰백을 사용하려고 할 때 오류가 발생합니다. – umki

+0

귀하의 필요에 맞게 코드를 편집했습니다. – leskovar