2012-07-24 5 views
0

컨트롤러에 Viewbag.typeofchange을 사용하여 목록에보기를 전달합니다. 웹 페이지/뷰 만들기에서 dropdownlist 항목을 선택하면 엔티티 모델/데이터베이스에 올바르게 저장됩니다.DropDownList 변수의 원래 값을 어떻게 유지할 수 있습니까?

그러나 편집 웹 페이지 /보기에서 드롭 다운 목록은 원래 값을 표시하지만 페이지를 저장하면 드롭 다운 목록의 새 항목을 선택하지 않으면 값이 손실됩니다.

dropdownlist이 선택되면 편집보기에서 새 값이 데이터베이스에 저장됩니다.

dropdownlist 변수 typeofchange의 원래 값을 유지하여 사용자가 항목을 선택하지 않으면 손실되지 않도록하려면 어떻게해야합니까? 컨트롤러의

코드 : 편집보기에서

List<SelectListItem> items = new List<SelectListItem>(); 
    items.Add(new SelectListItem { Text = "Red", Value = "Red" }); 
    items.Add(new SelectListItem { Text = "Green", Value = "Green" }); 
    items.Add(new SelectListItem { Text = "Blue", Value = "Blue" }); 
    items.Add(new SelectListItem { Text = "Other/Explain", Value = "Other" }); 
    ViewBag.typeofchange = items; 

코드 : 엔티티 CodeFirst 모델에

<div class="editor-field"> 
     @Html.DropDownList("typeofchange", Model.typeofchange) 
    </div> 

코드 :

[DisplayName("Type of Change")] 
    public string typeofchange { get; set; } 

정말 의견을 보내 주셔서 감사합니다.

+0

컨트롤러에서이를 ViewBag에 설정합니다. 보기에서는 모델에서 사용하고 있습니다. 어느 쪽이 잘못 되었습니까? –

+0

답장을 보내 주셔서 감사합니다. 조사를 시작하겠습니다. 기본적으로 Model.typeofchange 값을 사용하여 모델의 현재 값을 표시하고 있습니다. 컨트롤러의 Viewbag에서 ​​모델 변수의 기본값을 설정해야합니다. – user1547361

+0

드롭 다운을 만들려면 하나의 목록이 필요하고 선택한 값을 설정하려면 모델이 필요합니다. 당신은 둘 다 가지고, 그냥보기에 올바르게 사용하십시오. –

답변

0

두 가지 변수 인 typeofchange는 ViewBag에서 전달 된 SelectList이고 모델의 일부인 typeofchange입니다. typeofchange 모델을 선택한 값으로 설정하면 관련 SelectListItem의 Selected 속성이 설정됩니다.

관련 문제