我有一个下拉框,我绑定了2个值:护照和 pan 。
首次加载页面时,我想让一个视图输入 fname 和 lname 。下面我有下拉菜单。
如果我从下拉列表中选择护照,我想让字段输入护照签发日期,到期日等。
如果我选择 pan card ,我想获得字段选择pan卡号,有效期等。
所有这些都应该在一个视图中发生。我正在使用实体框架。
最后我想将细节保存到单独的表格中。
请建议!
答案 0 :(得分:0)
为您的视图创建一个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
<form>
@Html.InputFor(m=>m.property1)
//all other form fields
</form>