У меня эти модели взглядов.Как мне привязать модель?
public class MasterFrmVm
{
public Guid Id { get; set; }
public IList<FrmVm> FrmVms { get; set; }
public MasterFrmVm()
{
RewardTierFrmVm = new List<RewardTierFrmVm>();
}
}
public class FrmVm
{
public Guid Id { get; set; }
public IList<GroupedStoreVm> GroupedStoresVm { get; set; }
public FrmVm()
{
GroupedStoresVm = new List<GroupedStoreVm>();
}
}
public class GroupedStoreVm
{
public string CountryName { get; set; }
public string CountryId { get; set; }
public IList<StoreGroupingVm> StoreGroupingVms { get; set; }
public GroupedStoreVm()
{
StoreGroupingVms = new List<StoreGroupingVm>();
}
}
public class StoreGroupingVm
{
public string Name { get; set; }
public Guid Id { get; set; }
public IList<StoreVm> StoreVms { get; set; }
}
public class StoreVm
{
public Guid Id { get; set; }
public string Name { get; set; }
}
@foreach (var f in Model.FrmVm)
{
@Html.Partial("GenerateTier", f)
}
//GenerateTier
@model FrmVm
<ul class="storeTree">
@for (int i = 0; i < Model.GroupedStoresVm.Count; i++)
{
<li>
<input type="checkbox" name="@Model.GroupedStoresVm[i]" value="@Model.GroupedStoresVm[i].CountryId" />@Model.GroupedStoresVm[i].CountryName
<ul>
@for (int x = 0; x < Model.GroupedStoresVm[i].StoreGroupingVms.Count; x++)
{
<li>
@Html.CheckBox(Model.GroupedStoresVm[i].StoreGroupingVms[x].Name , false, new { value = Model.GroupedStoresVm[i].StoreGroupingVms[x].Id }) @Model.GroupedStoresVm[i].StoreGroupingVms[x].Name
<ul>
@for (int z = 0; z < @Model.GroupedStoresVm[i].StoreGroupingVms[x].StoreVms.Count; z++)
{
<li>@Html.CheckBox(Model.GroupedStoresVm[i].StoreGroupingVms[x].StoreVms[z].Name, false)@Model.GroupedStoresVm[i].StoreGroupingVms[x].StoreVms[z].Name </li>
}
</ul>
</li>
}
</ul>
</li>
}
</ul>
Я в основном делаю дерево флажков (затем с помощью jquery plugin я делаю его похожим на дерево). Однако я не уверен, как сделать флажки, чтобы они связывались. Обычно я бы использовал строго типизированный html-помощник, но я просто не знаю, как он будет выглядеть так, как он хочет получить значение bool.
Таким образом, я пробовал использовать не строго типизированный помощник и только html, но я не могу понять, как это сделать, когда у меня есть контроллер, который он связывает.
public ActionResult (FrmVm vm)
{
}
Я использую jquery и сериализую его и отправляю через Ajax.
Редактировать
я забыл упомянуть FrmVm другой вид модели, как это тоже может также быть много.
@foreach (var f in Model.FrmVm)
{
@Html.Partial("GenerateTier", f)
}
то, что тогда имеет код, который я показал выше. Теперь добавлен в мой код.
Edit 2
Вот что я вижу в поджигатель
FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.a=a
&FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.a=false
&FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.3=70563225-2718-40ec-8a71-a01500a66183
&FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.3=false
&FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.1=dbd43e7e-86e4-4fa1-9e48-a01a00db151c
&FrmVm%5Bd06a6c21-1796-4fb5-9af5-cbf973c6c820%5D.1=false
структура будет (они были бы флажков конечно)
-a
- 3
-1
не знаю, почему он говорит, что они все ложные, я проверил их все.
Вы могли бы, вероятно, использовать 'foreach' и остановки, что а [х] .b [г] .c [у] nonesense. – asawyer
Я мог бы, но обычно, что приводит к тому, что все имеют одинаковый идентификатор (когда вы используете сильно типизированные помощники). Как вы видите, я пытался много способов. – chobo2
Можете ли вы посмотреть и/или отправить данные, отправленные jQuery? – kendaleiv