Я работаю на ASP.NET MVC веб-приложения, и у меня есть следующие в моей точки зрения (в основном таблицы, которые содержат Html.TextBox): -не может поместить @ Html.TextBox внутри ячейки таблицы
@{
int i = 0;
<div>
<table class="table table-striped table-bordered bootstrap-datatable ">
<thead>
<tr>
<th>IP Address @Html.EditorFor(model=>model.IsIPUnique) | @Html.DisplayNameFor(model=>model.IsIPUnique)</th><th>MAC Address @Html.EditorFor(model=>model.IsMACUnique) | @Html.DisplayNameFor(model=>model.IsMACUnique)</th>
<th>NIC</th><th>Gateway</th>
<th>Network</th><th>SubNetMask</th>
<th>DHCP Enabled</th><th>DHCP Server</th>
</tr>
</thead>
<tbody>
@if(Model.NetworkInfo2 == null || Model.NetworkInfo2.Count() == 0)
{
Model.NetworkInfo2.Add(new NetworkInfo() { ISDHCP = "false" });
}
@foreach(var s in Model.NetworkInfo2)
{
<tr>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].IPADDRESS", s.IPADDRESS)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].IPADDRESS")</td>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].MACADDRESS", s.MACADDRESS)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].MACADDRESS")</td>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].NICNAME", s.NICNAME)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].NICNAME")</td>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].GATEWAY", s.GATEWAY)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].GATEWAY")</td>
<td>
@Html.TextBox("NetworkInfo2[" + i.ToString() + "].NETWORK", s.NETWORK)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].NETWORK")
</td>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].IPNETMASK", s.IPNETMASK)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].IPNETMASK") </td>
<td> @Html.TextBox("NetworkInfo2[" + i.ToString() + "].DHCPSERVER", s.DHCPSERVER)
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].DHCPSERVER")</td>
<td> @Html.CheckBox("NetworkInfo2[" + i.ToString() + "].ISDHCP", bool.Parse(s.ISDHCP))
@Html.ValidationMessage("NetworkInfo2[" + i.ToString() + "].ISDHCP")</td>
</tr>
i++;
}
</tbody>
</table>
</div>
}
результат на применение этого было не очень удобно, так как текстовые поля будут размещены OutSite ячеек таблицы следующим образом: -
проблему, что мой NetworkInfo имеет типа ICollection и не IList так нет индексатора для него .. вот почему я делаю это так, как я укажите .. –
Вы определили его как 'ICollection' или EF? – JamieD77
Я использую первый подход DB, и все сгенерированные классы используют Icollection –