首页 > 解决方案 > 布尔值渲染 asp-for 复选框,但它总是在 mvc 核心剃刀视图中得到真值而不是假?

问题描述

      <div class="checkbox">
                                <label>
                                 
                                
                                    <input type="checkbox" class="checkbox style-0" asp-for="Approver" />
                                
                                    <span>Approval</span>
                                </label>
                            </div>

始终在选中或不检查复选框时始终获得真实值。

标签: asp.net-core.net-core

解决方案


首先,<input type="radio" class="checkbox style-0" asp-for="Approver" />在我看来使用是错误的,因为该值为空。这是一个演示:

控制器:

public IActionResult Test()
        {
            
            Genders g = new Genders();
            g.genders = new List<string> { "Male", "Female", "Unspecified" };
            
        
            return View(g);
        }
[HttpPost]
        public IActionResult Test(String gender) {
            return View();
        }

性别:

public class Genders
    {
        public List<string> genders { get; set; }
    }

看法:

<form method="post">
    
  
    @foreach(var gender in Model.genders){
    <div>
        <input type="radio" name="Gender" value="@gender" />@gender<br />
    </div>
    }

    <input type="submit" value="submit" />
</form>

结果: 在此处输入图像描述


推荐阅读