在.net core中使用ViewBag时,复选框未保持其状态

MVC

我正在使用ViewBag存储复选框的状态。它总是显示错误。当我删除value="isCurrentFilter"时,当我选中复选框时,它显示为启用状态。

谁能指导我哪里出问题了?

请给我提意见。

控制者

Public async Task<IActionResult> Index(bool searchText, bool currentFilter, int? page)
    {

            int selectedPage = page ?? 1;
            int bypassCount = (selectedPage - 1) * _pagingOptions.PageSize;

            if (searchText != false)
            {
                page = 1;
            }
            else
            {
                searchText = currentFilter;

            }

            ViewBag.CurrentFilter = searchText;

    }

Index.cshtml

<form asp-action="Index" method="get">

             @{ bool isCurrentFilter = ViewBag.CurrentFilter; }

              <input type="checkbox" asp-for="searchText" value="isCurrentFilter" class="form-control" /> 

         <div class="col-md-12">
            <button class="btn btn-primary" type="submit">Search</button>
         </div>                
        </form>

    <table class="table">
        <thead>
            <tr >
                <th>Message Id</th>
                <th>Status</th>
                <th>Resent</th>
                <th>Resent Date</th>
                <th>Created Date</th>
            </tr>
        </thead>
        <tbody>
            @if (Model.Items.TotalItemCount > 0)
            {
                @foreach (var item in Model.Items.ToList())
                {
                        <td>@Html.DisplayFor(modelItem => item.MessageId)</td>
                        <td>@Html.DisplayFor(modelItem => item.Status)</td>
                        <td>@Html.DisplayFor(modelItem => resentString)</td>
                        <td>@Html.DisplayFor(modelItem => resentDateString)</td>
                        <td>@Html.DisplayFor(modelItem => createdDateString)</td>
                    </tr>

                }
            }

        </tbody>
    </table>
</div>
Fei Han

使用ViewBag存储复选框的状态。它总是显示错误。

如果在浏览器中检查checkbox的源代码,您会发现它可能如下所示,并且checkboxvalue属性是false,因此false即使您选中并提交表单,也始终会得到

在此处输入图片说明

当我删除value="@isCurrentFilter"时,当我选中复选框时,它显示为启用状态。

如果没有为复选框明确设置value属性<input type="checkbox" asp-for="searchText" class="form-control"/>,则value属性将为true

在此处输入图片说明

上面呈现的HTML还将包含该searchText属性的两个字段(复选框和隐藏字段)如果选中此复选框,则过帐值将为searchText=true&searchText=false模型绑定器将从值中正确提取true。否则它将是错误的。因此,正如您所说,删除value="@isCurrentFilter"将起作用。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取复选框以在返回框架时保持其状态

来自分类Dev

在asp.net中保持在分页时选中的复选框的ViewState

来自分类Dev

在asp.net的页面上触发验证时,复选框更改事件未触发?

来自分类Dev

对于列表中未在 POST 中检查的记录,Asp.Net MVC 5 复选框状态不会保持不变

来自分类Dev

如何使用VB在ASP.NET中使用复选框填充gridview

来自分类Dev

复选框在gridview asp.net中使用Shift键选择多个

来自分类Dev

如何在ASP.Net MVC3 Razor中使用多个复选框

来自分类Dev

如何在Asp.NET MVC中使用复选框创建MultiSelect下拉列表

来自分类Dev

在 Asp.net 中使用带有复选框的下拉列表

来自分类Dev

复选框未保持选中状态

来自分类Dev

.Net Core Blazor-使用输入复选框绑定和<tr> onclick的Javascript错误

来自分类Dev

使用ASP.NET RadioButtonList单击单选按钮时的jQuery禁用复选框

来自分类Dev

使用asp.net在gridview中选中复选框时更改div显示

来自分类Dev

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

来自分类Dev

使用VB.net,我需要多个动态生成的复选框,以获取其当前检查状态

来自分类Dev

在ASP.NET(C#)中使用Telerik radgrid选择服务器端复选框

来自分类Dev

在ASP.NET(C#)中使用Telerik radgrid选择服务器端复选框

来自分类Dev

.NET Winform-复选框nullReferenceException

来自分类Dev

复选框数组VB.NET

来自分类Dev

如何在asp.net中的GridView中检查复选框列的状态

来自分类Dev

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

来自分类Dev

asp.net未选中的复选框传递的值不为NULL

来自分类Dev

使用Selenium Webdriver禁用复选框时,如何获取复选框的选中/未选中状态?

来自分类Dev

单击时如何使复选框更改其状态?

来自分类Dev

在VS2019 / .Net Core 3.1中使用“生产单个文件”发布选项时,是否可以使appsettings.json在部署后保持可编辑状态?

来自分类Dev

分页Gridview时保持复选框状态

来自分类Dev

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

来自分类Dev

如何在ASP.NET Core中获取多个复选框值

来自分类Dev

复选框变成了文本输入ASP.NET Core

Related 相关文章

  1. 1

    获取复选框以在返回框架时保持其状态

  2. 2

    在asp.net中保持在分页时选中的复选框的ViewState

  3. 3

    在asp.net的页面上触发验证时,复选框更改事件未触发?

  4. 4

    对于列表中未在 POST 中检查的记录,Asp.Net MVC 5 复选框状态不会保持不变

  5. 5

    如何使用VB在ASP.NET中使用复选框填充gridview

  6. 6

    复选框在gridview asp.net中使用Shift键选择多个

  7. 7

    如何在ASP.Net MVC3 Razor中使用多个复选框

  8. 8

    如何在Asp.NET MVC中使用复选框创建MultiSelect下拉列表

  9. 9

    在 Asp.net 中使用带有复选框的下拉列表

  10. 10

    复选框未保持选中状态

  11. 11

    .Net Core Blazor-使用输入复选框绑定和<tr> onclick的Javascript错误

  12. 12

    使用ASP.NET RadioButtonList单击单选按钮时的jQuery禁用复选框

  13. 13

    使用asp.net在gridview中选中复选框时更改div显示

  14. 14

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

  15. 15

    使用VB.net,我需要多个动态生成的复选框,以获取其当前检查状态

  16. 16

    在ASP.NET(C#)中使用Telerik radgrid选择服务器端复选框

  17. 17

    在ASP.NET(C#)中使用Telerik radgrid选择服务器端复选框

  18. 18

    .NET Winform-复选框nullReferenceException

  19. 19

    复选框数组VB.NET

  20. 20

    如何在asp.net中的GridView中检查复选框列的状态

  21. 21

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

  22. 22

    asp.net未选中的复选框传递的值不为NULL

  23. 23

    使用Selenium Webdriver禁用复选框时,如何获取复选框的选中/未选中状态?

  24. 24

    单击时如何使复选框更改其状态?

  25. 25

    在VS2019 / .Net Core 3.1中使用“生产单个文件”发布选项时,是否可以使appsettings.json在部署后保持可编辑状态?

  26. 26

    分页Gridview时保持复选框状态

  27. 27

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

  28. 28

    如何在ASP.NET Core中获取多个复选框值

  29. 29

    复选框变成了文本输入ASP.NET Core

热门标签

归档