【问题标题】:Display Checkbox items in Dropdown list (MVC)在下拉列表 (MVC) 中显示复选框项目
【发布时间】:2023-03-06 16:40:01
【问题描述】:

我的复选框项目运行良好。但是,我需要将其显示为下拉列表

这是 BookViewModel.cs 中的列表(我的视图中显示的模型)

public List<CheckBoxViewModel> Authors { get; set; }

这是 CheckBoxViewModel.cs

  public class CheckBoxViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool Checked { get; set; }
}

这是我的控制器(它将项目添加到 checkboxViewModel 中的 Authors

 var Results = from b in db.author
                      select new
                      {
                          b.authorID,
                          name = b.first_name + " " + b.middle_name + " " + b.last_name,

                      };
        var MyViewModel = new BooksViewModel();

        var MyCheckBoxList = new List<CheckBoxViewModel>();
        foreach (var item in Results)
        {
            MyCheckBoxList.Add(new CheckBoxViewModel { Id = item.authorID, Name = item.name});
        }

        MyViewModel.Authors = MyCheckBoxList;

最后这就是我在视图中显示复选框项目的方式Create.cshtml

<div class="form-group">
                    @Html.LabelFor(model => model.Authors, ": المؤلف/ المؤلفين", htmlAttributes: new { @class = "control-label col-md-4" })
                    <div class="col-md-6">

                        <div style="text-align:right">
                            @for (int i = 0; i < Model.Authors.Count(); i++)
                            {

                                @Html.DisplayFor(m => Model.Authors[i].Name) <text> </text>
                                @Html.EditorFor(m => Model.Authors[i].Checked)

                                @Html.HiddenFor(m => Model.Authors[i].Name)
                                @Html.HiddenFor(m => Model.Authors[i].Id)
                                <br />
                            }
                        </div>
                        <text class="text-danger"> @ViewBag.empty_authors</text>
                        @Html.ActionLink("مؤلف جديد ", "CreateAuthor", "books", new { Model }, new { @class = "modal-link btn btn-success", @style = "font-size:20px" })<br />
                     </div>
                    <div class="col-md-4">
                        @*@Html.ListBoxFor(model => model.authorID, new SelectList(ViewBag.authorID, "a_id", "fullname"), htmlAttributes: new { @multiple = "multiple", @class = "form-control" })*@



                        @Html.ValidationMessageFor(model => model.Authors, "", new { @class = "text-danger" })
                    </div>
                    </div>

请注意,直到现在我的代码中都没有使用任何 JQuery / 脚本,如果有任何方法可以在我的控制器中使用 C# 显示下拉列表中的复选框项目,那将是可取的

谢谢。

PS。如果有使用 JavaScript 的解决方案,请详细描述。


编辑: 我决定在 Create.cshtml 视图中修复包含我的作者列表的 div 的高度,并允许它在 y 轴上滚动,我发现它是我的问题的可接受解决方案所以不需要额外的javascript代码

【问题讨论】:

  • 除非你找到合适的 jquery 插件或自己编写。

标签: c# jquery asp.net asp.net-mvc checkbox


【解决方案1】:

你不能,你必须找到一个 jquery 插件才能这样做。

【讨论】:

    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多