ASP.Net में CheckBoxFor मेरा मानना है कि इस सवाल का किसी भी लागू होता है "के लिए" एचटीएमएल सहायकों, लेकिन मेरे विशिष्ट समस्या CheckBoxFor उपयोग कर रहा है ...Foreach IEnumerable संपत्ति पर और MVC
मैं एक मॉडल की है कि है IENumerable टाइप करें, जहां अधिकार एक साधारण पॉको है। यह मॉडल वास्तव में एक बड़े मॉडल की एक संपत्ति है जिसे मैंने एक संपादक टेम्पलेट बनाया है। यहाँ मेरी मॉडल की बड़ी तस्वीर है:
public class bigmodel
{
public string Title {get; set;}
public string Description {get; set;}
[UIHint("ListRights")]
public IEnumerable<rights> Rights {get;set;}
}
public class rights
{
public bool HasAccess {get; set;}
public string Description {get;set;}
}
मैं एक editortemplate "ListRights" मेरी मुख्य दृश्य का उपयोग करता है बुलाया बनाया। उदाहरण के लिए: <% = एचटीएमएल.एडिटरफ़ोर (एम => एम राइट्स)%>।
ListRights.ascx में, मैं इस तरह कोड हैं:
<table>
<% foreach(rights access in Model)
{ %>
<tr>
<td>
<%=Html.CheckBoxFor(access) %>
</td>
<td>
<%=access.Description %>
</td>
</tr>
<% } %>
</table>
मैं जानता हूँ कि CheckBoxFor लाइन काम नहीं करता है, लेकिन मैं, कुछ है कि एक ही परिणाम उत्पन्न करता है क्या करना चाहते हैं के रूप में यदि पहुँच एक संपत्ति पर था आदर्श।
उपर्युक्त उदाहरण में, मैं सबकुछ पोस्ट पर ऑटोबैंड करना चाहता हूं।
मैं इस के समान कोड चेकबॉक्स faking की कोशिश की है, लेकिन यह autobind नहीं करता है:
<table>
<% for(int i=0; i < Model.Count(); i++)
{ %>
<tr>
<td>
<%=Html.CheckBox(string.Format("[{0}].HasAccess",i), Model.ElementAt(i).HasAccess)%>
</td>
<td>
<%=access.Description %>
</td>
</tr>
<% } %>
</table>
कोई सुझाव?
मुझे नहीं पता वास्तव में यह जवाब प्राप्त करें, आप इस समस्या से क्यों गुजरेंगे? – mare
ठीक है, कुछ और सोचने और स्टीवन के ब्लॉग पर जाने के बाद, मैं देखता हूं कि आप क्या हासिल करने की कोशिश कर रहे हैं। स्टीव के समाधान इस मामले में काम करते हैं। हालांकि मुझे नहीं लगता कि उपयोगकर्ता अनुभव इस मामले में कोई अच्छा है - इस तरह से कई आइटम संपादित करना और उन सभी को एक बार में नियंत्रक को पोस्ट करना। – mare