gpt4 book ai didi

asp.net-mvc-3 - ASP.Net MVC 3 复选框列表编辑器

转载 作者:行者123 更新时间:2023-12-02 19:47:46 26 4
gpt4 key购买 nike

我正在使用 Entity Framework 4.1 开发 ASP.Net MVC 3 Web 应用程序。我在显示 CheckBoxList 时遇到问题。让我解释一下。

我有两个 ViewModel

public class ViewModelShiftSubSpecialties
{
public IEnumerable<ViewModelCheckBox> SpecialtyList { get; set; }
}

public class ViewModelCheckBox
{
public string Id { get; set; }
public string Name { get; set; }
public bool Checked { get; set; }
public string Specialty { get; set; }
}

在我的 Controller 中,我填充我的 ViewModel

        IList<RelationshipGradeSub> gradeSubSpecialties = GetSubSpecialtiesForGrade(firstShiftGrade.gradeID);

ViewModelShiftSubSpecialties viewModel = new ViewModelShiftSubSpecialties();

var checkBoxList = new List<ViewModelCheckBox>();

foreach (var item in gradeSubSpecialties)
{
ViewModelCheckBox chkBox = new ViewModelCheckBox { Id = item.subID.ToString(), Name = item.ListSubSpecialty.description, Checked = false, Specialty=item.ListSubSpecialty.ListItemParent.description };
checkBoxList.Add(chkBox);
}

viewModel.SpecialtyList = checkBoxList;

return View(viewModel);

我还有一个部分 View ,用作 EditorTemplate 来显示我的复选框

@Html.HiddenFor(x => x.Id)        
@Html.CheckBoxFor(x => x.Checked)
@Html.LabelFor(x => x.Name, Model.Name)<br />

然后在我的 View 中,我尝试过滤 Model.Specialty 并根据项目的专业将项目分类到三个复选框列表中,即:

@foreach (var sub in Model.SpecialtyList)
{
if (sub.Specialty.Equals("Medicine"))
{
@Html.EditorFor(m => m.SpecialtyList)
}
else if (sub.Specialty.Equals("Surgery"))
{
@Html.EditorFor(m => m.SpecialtyList)
}
else if (sub.Specialty.Equals("Pathology"))
{
@Html.EditorFor(m => m.SpecialtyList)
}

}

但这似乎根本不起作用,这给我的第一个或第二个复选框列表中没有任何内容,然后第三个复选框列表中的所有列表项都没有。基本上我想要实现的目标是这样的

enter image description here

有人可以给我一些指导吗?

谢谢。

最佳答案

我猜您用于显示复选框的 EditorTemplate 的类型为 ViewModelCheckBox :

@Html.HiddenFor(x => x.Id)        
@Html.CheckBoxFor(x => x.Checked)
@Html.LabelFor(x => x.Name, Model.Name)<br />

在这种情况下,您将发送 List<ViewModelCheckBox>当使用@Html.EditorFor(m => m.SpecialtyList)时,但您应该发送的是 ViewModelCheckBox:

@Html.EditorFor(m => sub)

我希望我正确理解了你的意思。

关于asp.net-mvc-3 - ASP.Net MVC 3 复选框列表编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com