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

c# – 如何使用一个控制器处理大量派生模型

发布时间:2020-12-15 22:12:53 所属栏目:百科 来源:网络整理
导读:我正在使用ASP.NET MVC,我有几个模型类都派生自父对象.我想在一个控制器动作中处理所有这些模型,因为它们几乎完全相同,除了一些数据字段.我想将它们保存到数据库中.我怎样才能实现这样的行为? 例: class ParentModel {...} class ChildModel1 : ParentMode
我正在使用ASP.NET MVC,我有几个模型类都派生自父对象.我想在一个控制器动作中处理所有这些模型,因为它们几乎完全相同,除了一些数据字段.我想将它们保存到数据库中.我怎样才能实现这样的行为?

例:

class ParentModel {...}
    class ChildModel1 : ParentModel {...}
    class ChildModel2 : ParentModel {...}
    class ChildModel3 : ParentModel {...}
    class ChildModel4 : ParentModel {...}

    public class ModelController : Controller
    {
        //But with this I want to handle all the child objects as well
        //And add them automatically to the database.
        public ActionResult Add(ParentModel model)
        {
            db.ParentModel.Add(model);
        }
    }

解决方法

您应该创建一个ViewModel类,例如:

public class viewmodel 
    {
        public ChildModel1 childModel1 { get; set; }
        public ChildModel2 childModel2 { get; set; }
        public ChildModel3 childModel3 { get; set; }
        public ChildModel4 childModel4 { get; set; }
    }

然后创建一个视图模型对象:

viewmodel v = new viewmodel();

现在您可以将子模型添加到视图模型中:

v.childModel1 = yourchildmodel1;
v.childModel2 = yourchildmodel2;
v.childModel3 = yourchildmodel3;
v.childModel4 = yourchildmodel4;

现在你可以通过这个模型.

(编辑:李大同)

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

    推荐文章
      热点阅读