2013-07-23 59 views
10

Tôi đang cố tạo danh sách thả xuống với giá trị đã chọn nhưng không hoạt động:/Và tôi tìm kiếm trên web nhưng tôi không tìm thấy giải pháp:/Chọn giá trị mặc định trong danh sách thả xuống cho MVC 4

Đối với thời điểm hiện tại, tôi đang làm điều này:

Trong C#:

ViewBag.ID_VEH = new SelectList(db.VEHI, "ID_VEH", "COD_VEH", 4); // 4 is an example 

Trong cshtml tôi:

@Html.DropDownListFor(model => model.ID_VEH, ViewBag.ID_VEH as SelectList) 

các danh sách thả xuống cũng đã hoàn tất nhưng giá trị mặc định không được chọn:/bạn có ý tưởng không?

Trả lời

8

chỉ cần thiết lập các giá trị ban đầu của model.ID_VEH đến 4:

Trong bộ điều khiển:

model.ID_VEH = 4; 
+0

đây chắc chắn là cách tiếp cận tốt nhất và có lẽ là cách đơn giản nhất – mgrenier

12

Những gì tôi muốn làm là thêm một danh sách các mục cần hiển thị trong DropDownList để tôi mô hình, vì vậy tôi không phải vượt qua danh sách đó thông qua một watchbag. Ngoài ra tôi muốn thêm một trường để mô hình của tôi có chứa SelectedValue, mà tôi điền vào các bộ điều khiển

Sau đó, bạn có thể làm

@Html.DropDownListFor(model => model.ID_VEH, new SelectList(Model.listVEH, "ID_VEH", "COD_VEH", Model.SelectedVEH_ID), "--Select VEH--") 
1

Chỉ trong trường hợp ai đó có vấn đề tương tự tìm câu trả lời:

tôi muốn có cái nhìn với các hộp thả xuống có tập trung vào các mục tôi đưa ra (hardcoded) trong bộ điều khiển:

Bộ điều khiển:

SGLDataRegistration.Models.DataRegistrationModel mdl = rwd.GetData(DateTime.Now.Year, currentWeek, DateTime.Now, 139, 1); 

Xem:

    <div id="tempCustomerselect"> 
         @Html.LabelFor(m => m.CustomerName) 
         @Html.DropDownListFor(m => m.PitchID, new SelectList((new SGLDataRegistration.Models.CustomerModel().GetRoles()).OrderBy(x => x.CustomerName), "PitchID", "CustomerName"), new {id = "ddlCustomer", @class="jsddlCustomer"}) 

        </div> 

Trong GetData này, tôi setthe giá trị mong muốn hardcoded:

SGLDataRegistration.Models.DataRegistrationModel GetData (năm, int weekNumber, DateTime mốc tính toán, int pitchID, tham số int public int) { thử { DataRegistrationParameters drp = GetParameter (tham số);

 //vul een instantie van het dataregistrationmodel 
     SGLDataRegistration.Models.DataRegistrationModel drm = new Models.DataRegistrationModel(); 
     drm.WeekNumber = weekNumber; 
     drm.BeginDay = datum; 
     drm.Parameter = parameter; 
     drm.Year = year; 
     drm.PitchID = pitchID;