0

私はSelectListItemオブジェクトを自分のコントローラーで宣言しましたが、Create()ページのDropDownListにそれらを設定できましたが、モデルからドロップダウンリストの選択された値を編集()ページに設定します。asp.netのデータベースからの値に基づいてドロップダウンリストの値を設定しましたmvc5

作成のコードは、()、コントローラで:

public ActionResult Create() 
    { 
     var tagList = new List<SelectListItem>(); 
     tagList.Add(new SelectListItem() { Text = "Classic", Value = "Classic" }); 
     tagList.Add(new SelectListItem() { Text = "Promo", Value = "Promo" }); 
     tagList.Add(new SelectListItem() { Text = "Limited", Value = "Limited" }); 
     tagList.Add(new SelectListItem() { Text = "Classic", Value = "Classic" }); 
     tagList.Add(new SelectListItem() { Text = "New", Value = "New" }); 

     var catList = new List<SelectListItem>(); 
     catList.Add(new SelectListItem() { Text = "Men", Value = "Men" }); 
     catList.Add(new SelectListItem() { Text = "Women", Value = "Women" }); 
     catList.Add(new SelectListItem() { Text = "Sport", Value = "Sport" }); 
     catList.Add(new SelectListItem() { Text = "Casual", Value = "Casual" }); 

     var statusList = new List<SelectListItem>(); 
     statusList.Add(new SelectListItem() { Text = "Available", Value = "Available" }); 
     statusList.Add(new SelectListItem() { Text = "Unavailable", Value = "Unavailable" }); 

     ViewBag.tagDropDown = tagList; 
     ViewBag.catDropDown = catList; 
     ViewBag.statusDropDown = statusList; 
     return View(); 
    } 

私はすべてViewbag(複数可)を使用して作成します()ビューページでのDropDownListを移入することができています。

しかし、今私はEdit()ビューページでDropDownListを設定し、同時にモデルから選択した値を設定したいと考えました。

は、下の編集()ビューページからのコードです:

<div class="form-group"> 
     @Html.LabelFor(model => model.category, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownListFor(model => model.category, new SelectList(ViewBag.catDropDown, "value", "text"), htmlAttributes: new { @class = "form-control" }) 
     </div> 
</div> 

答えて

1

あなたがする必要があるすべてはあなたの編集アクションメソッドであなたのビューモデルオブジェクトのcategoryプロパティ値を設定することです。

DropDownListForヘルパーメソッドは、あなたのビューが強く YourViewModel

に型付けされたと仮定すると、「スポーツ」は、選択されたオプションを行います
public ActionResult Edit(int id) 
{ 
    var vm=new YourViewModel(); 
    vm.category="Sport"; // Replace this hard coded value with value from db 
    // to do : Load ViewBag.catDropDown 
    return View(vm); 
} 

関連する問題