मुझे DropDownListFor
अपने MVC3 ऐप में परेशानी हो रही है । मैं StackOverflow का उपयोग करके यह पता लगाने में सक्षम था कि उन्हें व्यू पर प्रदर्शित होने के लिए कैसे प्राप्त किया जाए, लेकिन अब मुझे यह नहीं पता है कि व्यू मॉडल पर इसके संबंधित गुणों के मूल्यों को कैसे कैप्चर किया जाए जब इसे सबमिट किया जाता है। यह काम करने के लिए मुझे एक आंतरिक वर्ग बनाना पड़ा जिसमें एक आईडी और एक मूल्य संपत्ति थी, फिर मुझे पैरामीटर आवश्यकताओं IEnumerable<Contrib>
को पूरा करने के लिए एक का उपयोग करना पड़ा DropDownListFor
। अब, हालांकि, MVC परिवार कल्याण कैसे माना जाता है, जो इस ड्रॉप-डाउन पर मेरे दृश्य मॉडल पर सरल स्ट्रिंग संपत्ति में चयनित है?
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
वह (निश्चित रूप से) शून्य होता है।
ऐसा करने का सही तरीका क्या है?