最代码广告位
947335690的gravatar头像
9473356902020-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 LV33月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)最佳答案
相关问答
    最近浏览
    dengkaixing LV13月27日
    星星
    lllpppwww LV13月25日
    星星
    遇见, LV363月18日
    太阳太阳月亮
    xiongxiong2019 LV43月18日
    月亮
    不死鸟桃白白 LV13月17日
    星星
    Dream shadow LV33月9日
    星星星星星星
    LHJ123 LV303月7日
    太阳月亮月亮月亮星星星星
    jojo1989453月6日
    暂无贡献等级
    苜蓿123456 LV103月4日
    月亮月亮星星星星
    最代码人间蒸发 LV203月4日
    太阳月亮
    顶部客服微信二维码底部
    >扫描二维码关注最代码为好友扫描二维码关注最代码为好友