Я считаю, что этот вопрос относится к любому из помощников "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;}
}
Я создал шаблон editortemplate под названием "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>
Любые предложения?