无法选中ASP.NET Core MVC视图中的复选框

浅蓝色123

我目前正在研究ASP.NET Core 3.1 MVC应用程序。我需要创建一个动态复选框菜单,该菜单显示可用水果并将所选水果存储到另一个数据源中。

我的问题是,我无法选中/单击视图上的任何复选框,然后将所选项目发送回控制器。

我的FruitsViewModel看起来像这样:

public class FruitsViewModel
{
    public IList<string> SelectedFruits { get; set; } = new List<string>();

    public IList<SelectListItem> AvailableFruits { get; set; } = new List<SelectListItem>();
}

我的FruitsController看起来像这样:

public class FruitsController : Controller
{
    [HttpGet]
    public async Task<IActionResult> Index()
    {
        var viewModel = new FruitsViewModel { 
                                                  AvailableFruits = GetAvailableFruits()
                                                };

        return View(viewModel);
    }

    [HttpPost]
    public async Task<IActionResult> Index(FruitsViewModel fruitsViewModel)
    {
        // ... process data
    }

    private IList<SelectListItem> GetAvailableFruits()
    {   
        // the values are originally retrieved from a DB, here I use just sample data   
        return new List<SelectListItem>
                       {
                           new SelectListItem {Text = "Apple", Value = "Apple"},
                           new SelectListItem {Text = "Pear", Value = "Pear"},
                           new SelectListItem {Text = "Banana", Value = "Banana"},
                           new SelectListItem {Text = "Orange", Value = "Orange"},
                       };
    }
}

我的FruitsController Index.cshtml视图如下所示:

<form method="post">
    <div class="form-group row">
        <!-- Fruits -->
        <label class="col-4">Fruits</label>
        <div class="col-8">
            @foreach (SelectListItem availableFruit in Model.AvailableFruits)
            {
                <div class="custom-control custom-checkbox custom-control-inline">
                    <label class="custom-control-label">
                        <input type="checkbox"
                               class="custom-control-input"
                               name="SelectedFruits"
                               value="@availableFruit.Value"
                               @if (Model.SelectedFruits.Contains(availableFruit.Value))
                               {
                                   @:checked
                               }/>
                        @availableFruit.Text
                    </label>
                </div>
            }
        </div>
    </div>
    <div class="form-group row">
        <div class="offset-4 col-8">
            <button name="submit" type="submit" class="btn btn-info">Send</button>
        </div>
    </div>
</form>

您是否知道如何检查一个在ASP.NET Core MVC视图上动态加载的复选框,然后将所选值发送回控制器?

如果可能的话,我不想使用jQuery。

我已经关注了这个类似的帖子

Fei Han

我无法选中/单击视图上的任何复选框,也无法将所选项目发送回控制器。

您可以尝试修改以下代码,以动态生成具有Bootstrap样式的复选框

<div class="col-8">
    @foreach (SelectListItem availableFruit in Model.AvailableFruits)
    {
        <div class="custom-control custom-checkbox custom-control-inline">
            <input type="checkbox" id="@availableFruit.Value"
                    class="custom-control-input"
                    name="SelectedFruits"
                    value="@availableFruit.Value"
                    @if (Model.SelectedFruits.Contains(availableFruit.Value)) { @: checked
                    } />
            <label class="custom-control-label" for="@availableFruit.Value">@availableFruit.Text</label>
        </div>
                
    }
</div>

测试结果

选中的选项

在此处输入图片说明

在操作方法中获取检查值

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选中“ ASP.NET MVC提交表单”复选框

来自分类Dev

选中列表视图中的所有复选框

来自分类Dev

ASP NET MVC 4并排呈现复选框

来自分类Dev

如何从ASP.NET MVC的多个分页中获取所有选中的复选框?

来自分类Dev

至少选中一个复选框-Asp.Net MVC-jQuery

来自分类Dev

使用JQuery和Metronic选中了ASP.NET MVC复选框集

来自分类Dev

如何在单个复选框事件中选中/取消选中所有asp.net复选框?

来自分类Dev

MaterializeCSS-ASP。Net MVC:模态复选框

来自分类Dev

在ASP.Net Core MVC视图中刷新ViewComponent

来自分类Dev

如何获取Asp.net MVC中用户选中的复选框的值?

来自分类Dev

在asp.net GridView内部选中的复选框

来自分类Dev

ASP.NET Core:我想从控制器方法的视图中访问复选框列表(值)

来自分类Dev

ASP.NET我需要一个计数器来在我的视图中显示已选中的复选框

来自分类Dev

ASP NET MVC 4并排呈现复选框

来自分类Dev

在列表视图中获取选中的复选框

来自分类Dev

至少选中一个复选框-Asp.Net MVC-jQuery

来自分类Dev

我无法在asp.net中的动态添加的复选框中“设置选中”

来自分类Dev

在列表视图中未选中Android onClick复选框

来自分类Dev

从视图到自定义控制器方法的ASP.Net MVC复选框值

来自分类Dev

ASP.NET MVC无法发布绑定到复选框的视图模型

来自分类Dev

列表视图中的Android复选框未选中

来自分类Dev

ASP.NET MVC复选框产生的HTML

来自分类Dev

如何在列表视图中控制复选框状态asp.net C#

来自分类Dev

ASP.NET MVC视图中的C#复选框事件不在窗体内

来自分类Dev

如何在单个复选框事件中选中/取消选中所有asp.net复选框?

来自分类Dev

复选框始终绑定为false,即使选中了asp.net mvc 5

来自分类Dev

复选框列表值未绑定到 ASP.NET Core MVC 中的查看 GET 请求

来自分类Dev

视图中的 Asp.net Core 2.1 MVC 解码

来自分类Dev

ASP.NET Core MVC - 将 DB 绑定复选框添加到 Create.cshtml

Related 相关文章

  1. 1

    选中“ ASP.NET MVC提交表单”复选框

  2. 2

    选中列表视图中的所有复选框

  3. 3

    ASP NET MVC 4并排呈现复选框

  4. 4

    如何从ASP.NET MVC的多个分页中获取所有选中的复选框?

  5. 5

    至少选中一个复选框-Asp.Net MVC-jQuery

  6. 6

    使用JQuery和Metronic选中了ASP.NET MVC复选框集

  7. 7

    如何在单个复选框事件中选中/取消选中所有asp.net复选框?

  8. 8

    MaterializeCSS-ASP。Net MVC:模态复选框

  9. 9

    在ASP.Net Core MVC视图中刷新ViewComponent

  10. 10

    如何获取Asp.net MVC中用户选中的复选框的值?

  11. 11

    在asp.net GridView内部选中的复选框

  12. 12

    ASP.NET Core:我想从控制器方法的视图中访问复选框列表(值)

  13. 13

    ASP.NET我需要一个计数器来在我的视图中显示已选中的复选框

  14. 14

    ASP NET MVC 4并排呈现复选框

  15. 15

    在列表视图中获取选中的复选框

  16. 16

    至少选中一个复选框-Asp.Net MVC-jQuery

  17. 17

    我无法在asp.net中的动态添加的复选框中“设置选中”

  18. 18

    在列表视图中未选中Android onClick复选框

  19. 19

    从视图到自定义控制器方法的ASP.Net MVC复选框值

  20. 20

    ASP.NET MVC无法发布绑定到复选框的视图模型

  21. 21

    列表视图中的Android复选框未选中

  22. 22

    ASP.NET MVC复选框产生的HTML

  23. 23

    如何在列表视图中控制复选框状态asp.net C#

  24. 24

    ASP.NET MVC视图中的C#复选框事件不在窗体内

  25. 25

    如何在单个复选框事件中选中/取消选中所有asp.net复选框?

  26. 26

    复选框始终绑定为false,即使选中了asp.net mvc 5

  27. 27

    复选框列表值未绑定到 ASP.NET Core MVC 中的查看 GET 请求

  28. 28

    视图中的 Asp.net Core 2.1 MVC 解码

  29. 29

    ASP.NET Core MVC - 将 DB 绑定复选框添加到 Create.cshtml

热门标签

归档