加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 使用带有布尔值的Html.RadioButtonFor不写Chec

发布时间:2020-12-16 09:36:51 所属栏目:asp.Net 来源:网络整理
导读:我在使用RadioButtonFor帮助器时遇到了问题.传入的值为true时,它不会在任一单选按钮中显示“检查”.当值为false时,它可以正常工作. 我从我正在处理的项目中复制了这段代码并创建了一个示例应用程序,我能够复制该问题.如果我将值硬编码为true或false,它似乎有
我在使用RadioButtonFor帮助器时遇到了问题.传入的值为true时,它不会在任一单选按钮中显示“检查”.当值为false时,它可以正常工作.

我从我正在处理的项目中复制了这段代码并创建了一个示例应用程序,我能够复制该问题.如果我将值硬编码为true或false,它似乎有效,但是当我使用“!string.IsNullOrEmpty(allgroups)”时它不会.

从视图:

<div>
    @Html.RadioButtonFor(m => m.AllGroups,true) All Groups
    @Html.RadioButtonFor(m => m.AllGroups,false) Current Groups
</div>

从ViewModel:

public bool AllGroups { get; set; }

来自控制器:

public ActionResult Index(string allgroups)
{
    var model = new ProgramGroupIndexViewModel
      {
          AllGroups = !string.IsNullOrEmpty(allgroups)
      };
    return View(model);
}

从IE中的视图源:

<div>
    <input id="AllGroups" name="AllGroups" type="radio" value="True" /> All Groups
    <input id="AllGroups" name="AllGroups" type="radio" value="False" /> Current Groups
</div>

从AllGroups的值为false时的视图源(注意它可以工作):

<div>
    <input id="AllGroups" name="AllGroups" type="radio" value="True" /> All Groups
    <input checked="checked" id="AllGroups" name="AllGroups" type="radio" value="False" /> Current Groups
</div>

解决方法

模型绑定变得混乱,因为您将操作参数命名为与模型属性相同.更改Index操作参数的名称,它应该可以工作.

public ActionResult Index(string showAllGroups)
{
    var model = new ProgramGroup
                    {
                        AllGroups = !string.IsNullOrEmpty(showAllGroups);
                    };
    return View(model);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读