我有這些視圖模型。如何模型綁定?
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插件我使它看起來像一棵樹)。不過,我不知道如何使複選框,使他們綁定。通常我會使用強類型的HTML幫助器,但我不知道它會如何看起來,因爲它需要一個布爾值。
所以我嘗試了非強類型的幫助器,只是HTML,但我不知道如何使它,所以當我有我的控制器綁定。
public ActionResult (FrmVm vm)
{
}
我正在使用jquery並將其序列化並通過Ajax發送。
編輯
我還忘了提FrmVm是另一種視圖模型,因爲它太也可以有很多。
@foreach (var f in Model.FrmVm)
{
@Html.Partial("GenerateTier", f)
}
什麼然後有我上面顯示的代碼。現在添加到我的代碼。
編輯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'和停止一個[X] .B [Z]。ç[Y] nonesense。 – asawyer 2012-03-22 22:38:20
我可以但通常會導致一切都具有相同的ID(當你使用強類型助手)。正如你所看到的,我嘗試了很多方法。 – chobo2 2012-03-22 22:39:15
你可以看看和/或張貼由jQuery發送的數據嗎? – kendaleiv 2012-03-22 22:42:24