ฉันมีปัญหากับDropDownListFor
แอป MVC3 ฉันสามารถใช้ StackOverflow เพื่อหาวิธีทำให้สิ่งเหล่านี้ปรากฏบน View ได้ แต่ตอนนี้ฉันไม่รู้วิธีจับค่าในคุณสมบัติที่สอดคล้องกันบน View Model เมื่อส่งแล้ว เพื่อให้สิ่งนี้ใช้งานได้ฉันต้องสร้างคลาสภายในที่มี ID และคุณสมบัติค่าจากนั้นฉันต้องใช้IEnumerable<Contrib>
เพื่อให้เป็นไปตามDropDownListFor
ข้อกำหนดของพารามิเตอร์ อย่างไรก็ตาม MVC FW ควรจะแมปค่าที่เลือกไว้ในเมนูแบบเลื่อนลงนี้กลับไปยังคุณสมบัติสตริงแบบง่ายในโมเดลมุมมองของฉันได้อย่างไร
public class MyViewModelClass
{
public class Contrib
{
public int ContribId { get; set; }
public string Value { get; set; }
}
public IEnumerable<Contrib> ContribTypeOptions =
new List<Contrib>
{
new Contrib {ContribId = 0, Value = "Payroll Deduction"},
new Contrib {ContribId = 1, Value = "Bill Me"}
};
[DisplayName("Contribution Type")]
public string ContribType { get; set; }
}
ในมุมมองของฉันฉันวางเมนูแบบเลื่อนลงบนหน้าดังนี้:
<div class="editor-label">
@Html.LabelFor(m => m.ContribType)
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.ContribTypeOptions.First().ContribId,
new SelectList(Model.ContribTypeOptions, "ContribId", "Value"))
</div>
เมื่อฉันส่งแบบฟอร์มContribType
is (แน่นอน) ว่าง
วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?