क्षमा करें यदि इससे पहले पूछा गया है; वाक्यांश के दस लाख तरीके हैं, इसलिए एक उत्तर खोजना मुश्किल साबित हुआ है।एमवीसी 3 - जटिल प्रकारों की सूची के साथ व्यूमोडेल
public class SelectableDeviceViewModel
{
public int DeviceInstanceId { get; set; }
public bool IsSelected { get; set; }
public string Name { get; set; }
}
मेरे विचार में, मैं संपादन योग्य चेक बॉक्स की एक सूची प्रदर्शित करने का प्रयास कर रहा हूँ:
public class AssignSoftwareLicenseViewModel
{
public int LicenseId { get; set; }
public ICollection<SelectableDeviceViewModel> Devices { get; set; }
}
SelectableDeviceViewModel का एक सरलीकृत संस्करण इस होगा:
मैं निम्नलिखित गुणों के साथ एक viewmodel है एक इनपुट फॉर्म के अंदर, डिवाइस संपत्ति के लिए। वर्तमान में, मेरे विचार इस तरह दिखता है:
@using (Html.BeginForm())
{
@Html.HiddenFor(x => Model.LicenseId)
<table>
<tr>
<th>Name</th>
<th></th>
</tr>
@foreach (SelectableDeviceViewModel device in Model.Devices)
{
@Html.HiddenFor(x => device.DeviceInstanceId)
<tr>
<td>@Html.CheckBoxFor(x => device.IsSelected)</td>
<td>@device.Name</td>
</tr>
}
</table>
<input type="submit" value="Assign" />
}
समस्या है, जब मॉडल वापस नियंत्रक पर पोस्ट हो जाती, उपकरण रिक्त है।
मेरी धारणा यह है कि यह हो रहा है क्योंकि भले ही मैं अपनी सामग्री संपादित कर रहा हूं, डिवाइस संपत्ति को स्पष्ट रूप से फ़ॉर्म में शामिल नहीं किया गया है। मैंने इसे छुपे हुए फोर के साथ शामिल करने का प्रयास किया, लेकिन इसके परिणामस्वरूप मॉडल को शून्य की बजाय खाली सूची है।
कोई विचार क्या मैं यहां गलत कर रहा हूं?
क्या आप हमें अपना नियंत्रक कोड दिखा सकते हैं जो डेटा मॉडल को पॉप्युलेट कर रहा है? इस क्षेत्र को कवर करने वाले सबसे सुंदर वर्णन प्रश्न के लिए – nikeaa
+1। मेरा विश्वास करो, हमने पिछले 2 घंटों को इस समस्या के लिए चारों ओर देखकर बिताया है! –