Asp.net mvc 在MVC5实体框架中使用一个视图处理多个表并执行动态视图

Asp.net mvc 在MVC5实体框架中使用一个视图处理多个表并执行动态视图,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我有一个下拉框,绑定了两个值:passport和pan 当第一次加载页面时,我希望获得一个视图以进入fname和lname。下面是我的下拉列表如果我从下拉列表中选择passport,我想获取输入护照签发日期、到期日期等的字段如果我选择pan card,我想获取选择pan卡号、到期日期等的字段 所有这些都应该在一个视图中发生。我使用的是实体框架最后,我想将详细信息保存到单独的表中 请建议 为视图创建一个viewmodel,并使用该viewmodel将视图的所有值发布到控制器 在控制器上获取所有表单

我有一个下拉框,绑定了两个值:passportpan

当第一次加载页面时,我希望获得一个视图以进入fnamelname。下面是我的下拉列表
如果我从下拉列表中选择passport,我想获取输入护照签发日期、到期日期等的字段
如果我选择pan card,我想获取选择pan卡号、到期日期等的字段

所有这些都应该在一个视图中发生。我使用的是实体框架
最后,我想将详细信息保存到单独的表中


请建议

为视图创建一个viewmodel,并使用该viewmodel将视图的所有值发布到控制器 在控制器上获取所有表单字段后,生成每个表(实体)的实例以及在viewmodel中获取的映射值

[HttpPost]
    public ActionResult ActionName(MyViewModel model)
    {
        if(ModelState.IsValid)
        {
            // table 1(Table1Entity is your class)
          Table1Entity a = Table1Entity();
           a.property = model.property1;
            db.Table1Entity.add(a);
          //  db.SaveChanges();

            // table 2
            Table2Entity b =Table2Entity();
            b.property= model.property2;
             db.Table2Entity.add(b);
            db.SavChanges();

  // so on for all other tables entity

  return   RedirectToAction("Index");
        }
        return View(model);
    }
您的viewmodel

 Public class MyViewModel{

       public string property1{get; set;}

       public string property2{get;set;}
 }
视图(指向控制器的窗体,添加操作和控制器名称)

@model MyViewModel
@InputFor(m=>m.property1)
//所有其他表单字段
  @model MyViewModel

 <form>
    @Html.InputFor(m=>m.property1)
    //all other form fields
 </form>