2017-08-08 264 views
0

我想選擇列表中的默認選項設置在MVC默認值選擇列表

我做以下,但它不工作

@Html.DropDownListFor(Model => Model.CandidateOrderLine.SiteId, new SelectList(Model.Customer.Sites, "SiteId", "SiteName", Model.Customer.Sites.Where(x => x.IsPrimarySite == true).ToString()), "Select Site", new { @class = "form-control", @data_val_required = "Please select a site" }) 

任何幫助,這將是讚賞,

感謝

克里斯

+0

刪除您的Model.Customer.Sites.Where(x = > x.IsPrimarySite == true'在'SelectList'構造函數中(綁定到模型屬性時被忽略 - 它的值是「SiteId」的值,它決定了選擇的內容)如果它的值匹配其中一個選項的值,那麼該選項將被選中。 –

回答

1

假設你的GET動作本身擬合有效SITEID價值的Model.CandidateOrderLine.SiteId財產

只是假設你的類名看起來像這些

public ActionResult Create() 
{ 
    var vm=new YourVideModelClass(); 
    vm.CandidateOrderLine= new CandidateOrderLine(); 
    vm.SiteId = 3; // Hard coded for demo. Replace with valid SiteId 
    return View(vm); 
} 

這應該工作。

@Html.DropDownListFor(Model => Model.CandidateOrderLine.SiteId, 
     new SelectList(Model.Customer.Sites, "SiteId", "SiteName")), 
     "Select Site", 
      new { @class = "form-control", @data_val_required = "Please select a site" }) 

這將選擇具有與我們在GET操作中設置的值匹配的值的選項。

1

你可以試試嗎? (x => x.IsPrimarySite == true).FirstOrDefault()。ToString())...