947335690的gravatar头像
947335690 2020-03-03 14:36:22

.netMVC中如何解决 the entity type xxxx is not part of the model for the current content

.netMVC中如何解决 the entity type xxxx is not part of the model for the current content的报错啊?

所有回答列表(1)
jianboluo的gravatar头像
jianboluo  LV3 2020年3月4日

   在我的MVC项目里,一个Model定义,

 

 

public class Admin

    {

        public long ID { get; set; }

        public string Name { get; set; }

        public bool IsSuperAdmin { get; set; }

 

        //.........

    }

    编辑该Model的View代码,

 

<div class="">

<input name="IsSuperAdmin" type="checkbox" id="checkIsSuperAdmin" @(Model.IsSuperAdmin ? "checked" : "")>

        <label class="" for="checkIsSuperAdmin">是否是超级管理员</label>

</div>

    后台Controller的代码,

 

[HttpPost]

        public ActionResult Update(Admin admin)

        {

            if (ModelState.IsValid)

            {

                //...........

            }

            //............

        }

    这时ModelState.IsValid是false,同时ModelState里存在这样一个错误,Key是IsSuperAdmin,Value是The value 'on' is not valid for IsSuperAdmin。 

    原因呢?因为checkbox的值value是'on',MVC无法将这个值转换成bool类型。

 

    解决方法,使用@Html.CheckBoxFor/@Html.CheckBox代替元素<input type="checkbox">。当使用@Html.CheckBoxFor/@Html.CheckBox

 

时,ASP.NET MVC会自动在后面生成一个隐藏的元素,用于保存bool值。这样model绑定时就不会出现这个错误了。

————————————————

版权声明:本文为CSDN博主「likingsn」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/likingsnblog/article/details/49890027

评论(0) 最佳答案
相关问答
最近浏览
毫无语  LV6 2023年9月7日
是一个鸽子啊  LV17 2021年3月12日
lirt168  LV1 2020年8月3日
lichengai  LV7 2020年5月1日
dengkaixing  LV2 2020年3月27日
lllpppwww  LV5 2020年3月25日
遇见,  LV36 2020年3月18日
xiongxiong2019  LV6 2020年3月18日
不死鸟桃白白  LV1 2020年3月17日
Dream shadow  LV9 2020年3月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友