Я считаю, что этот вопрос относится к любому из помощников "For" Html, но моя конкретная проблема заключается в использовании CheckBoxFor ...
У меня есть модель типа IEnumerable, где права - это простое POCO. Эта модель на самом деле является свойством большей модели, для которой я создал EditorTemplate. Вот большая картина моей модели:
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;}
}
Я создал шаблон редактор под названием «ListRights», который использует мой основной вид. Например: <% = Html.EditorFor (m => m.Rights)%>.
В ListRights.ascx я хочу код, подобный этому:
<table>
<% foreach(rights access in Model)
{ %>
<tr>
<td>
<%=Html.CheckBoxFor( access ) %>
</td>
<td>
<%=access.Description %>
</td>
</tr>
<% } %>
</table>
Я знаю, что строка CheckBoxFor не работает, но я хочу сделать что-то, что приведет к тому же результату, как если бы доступ был свойством модели.
В приведенном выше примере я бы хотел, чтобы все автоматически связывалось с сообщением.
Я пытался подделать CheckBox с кодом, похожим на этот, но он не привязывается автоматически:
<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>
Есть предложения?