gpt4 book ai didi

c# - DropDownlistFor MVC 4 中的 Optgroup?

转载 作者:太空狗 更新时间:2023-10-30 01:35:42 26 4
gpt4 key购买 nike

我需要在 MVC 4 中对 DropDownListFor 中的元素进行分组。

我有几个下拉列表作为团队和项目。基于团队,我得到了我有一个表作为项目的项目,其中包含一个称为实体类型的列。实体类型有 client、assignment 和 project 3 种。

我已经编写了一个查询来获取基于团队的项目。现在我想根据实体类型对项目进行分组。

例如,对于 Team1,有 5 个项目作为 2 个客户、2 个任务和 1 个项目。所以,它应该显示为:

在第一个下拉列表中:

  • 团队:Team1

在第二个下拉列表中:

  • 项目:

    1. 客户
    2. 客户 1
    3. 客户 2

  • 作业:

    1. 作业 1
    2. 作业 2

  • 项目:

    1. 项目 1

我对此进行了很多搜索,但完全感到困惑,因为我得到了很多结果,因为大多数结果就像框架不支持对此的任何扩展,因此应该编写自定义的。

我的要求很简单:我只需要将查询结果分为三类,即客户、任务下方和项目旁边。具有实体类型 Client 的应该归入该实体类型,其他的也应相应归入。

以下是我根据团队获取项目的代码:

 public List<Project> GetAllProjectForTeam(int teamId)
{
List<Project> project = new List<Project>();
var query = (from p in db.Projects.AsEnumerable()
join pt in db.ProjectTeams.AsEnumerable() on p.ProjectId equals pt.ProjectId
join tm in db.Teams.AsEnumerable() on pt.TeamId equals tm.TeamId
where pt.TeamId == teamId
select p
).ToList();

project = query.Distinct().ToList<Project>();
return project.ToList();
}

下面是我的下拉代码:

<div class="editor-label">
@Html.LabelFor(model => model.TeamId,"Team")
</div>
<div class="cssclass">
@Html.DropDownListFor(model => model.TeamId, new SelectList(Model.ddlTeam, "Value", "Text"), "Select Team", new { id = "TeamID", onchange = "GetProjects()", @class = "form-control", UpdateTargetId = "atag" })
@Html.ValidationMessageFor(model => model.TeamId)
</div>

<div class="editor-label">
@Html.LabelFor(model => model.ProjectId, "Project")
</div>
<div class="cssclass">
@Html.DropDownListFor(model => model.ProjectId, new SelectList(Model.ddlProject, "Value", "Text"), "Select Project", new { id = "ProjectID", onchange = "ShowDocsList()", @class = "form-control" })
@Html.ValidationMessageFor(model => model.ProjectId)
</div>

所以,这就是我的问题。任何帮助将不胜感激。我已经花了很多时间在这上面,但没有得到任何结果。提前致谢。

最佳答案

正如@EdSF 所暗示的,目前还没有允许 dropDownList 的选项组的 Html 助手。详情:http://www.kashyapas.com/2014/06/09/html-ldquooptgrouprdquo-support-in-dropdownlist-asp-net-mvc-5-2/ .

如果您不想下载 RC,您始终可以创建自己的自定义助手来添加对分组下拉列表的支持。示例:http://weblogs.asp.net/raduenuca/asp-net-mvc-extending-the-dropdownlist-to-show-the-items-grouped-by-a-category

起初,扩展或创建您自己的帮助程序似乎令人望而生畏,但花时间和精力是值得的。如果您可以进行此类自定义,则可以为更复杂的项目省去大量麻烦和代码。

关于c# - DropDownlistFor MVC 4 中的 Optgroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726553/

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