我无法在模型中获取复杂类型的数组,以在控制器中的两个操作之间存储其值 IsAssigned。
一旦模型组成,其中包括复杂类型的数组(包括 IsAssigned),视图引擎开始呈现 HTML/Razor 脚本。在视图中,有一部分脚本处理操作复杂类型的控件的显示。它是一个循环遍历复杂类型数组的“For i”循环。
在此循环期间,对于包含在复杂类型数组内的属性 IsAssigned,有一个剃刀命令 HiddenFor。
在呈现局部视图的循环中执行第二步。在这个视图中,有两个单选按钮链接到数组位置的 IsAssigned 布尔值?财产。如果用户选择是,则该属性变为真,没有假。
在视图完全呈现并且用户做出选择之后,控制器中的下一个操作方法被激活并将模型传递给它。在这里,我希望用户对 IsAssigned 属性的选择会持续存在,但不会。它不是。
下面是循环的代码和局部视图的代码。
环形
@for (int i = 0; i < Model.KitTypeAssignment.Length; i++)
{
@Html.HiddenFor(m => m.KitTypeAssignment[i].IsKitTypeActiveForSubject)
@Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.Code)
@Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.Description)
@Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.KitTypeId)
@Html.HiddenFor(m => m.KitTypeAssignment[i].IsAssigned, new { @Name = "IsAssigned" + Model.KitTypeAssignment[i].KitType.Code })
@Html.Partial("_KitTypeDispensing", Model.KitTypeAssignment[i])
}
局部视图
<div class="field inline spacer20">
@{
var kitTypeAssign = String.Format("{0}{1}", Model.KitType.Code, "Assign");
var identityOfAssigned = new { id = @kitTypeAssign, @Name = "IsAssigned" + Model.KitType.Code };
var kitTypeNoAssign = String.Format("{0}{1}", Model.KitType.Code, "NoAssign");
var identityOfNoAssigned = new { id = @kitTypeNoAssign, @Name = "IsAssigned" + Model.KitType.Code };
var sectionTitle = string.Format("{0} {1}", PromptText.Assign_185B7133DB22230701A857C059360CC2.ToLocalizableString(), Model.KitType.Description);
@Html.Label(sectionTitle, new { @class = "colon" })
@Html.RadioButtonFor(m => m.IsAssigned, true, @identityOfAssigned)
<label for=@kitTypeAssign>@Html.PromptFor(PromptText.Yes_93CBA07454F06A4A960172BBD6E2A435)</label>
@Html.RadioButtonFor(m => m.IsAssigned, false, @identityOfNoAssigned)
<label for=@kitTypeNoAssign>@Html.PromptFor(PromptText.No_BAFD7322C6E97D25B6299B5D6FE8920B)</label>
}
</div>
青春有我
相关分类