我正在努力完成我认为很简单的事情。我只是无法围绕它。
我有一个组织列表,它只是组织 ID 和名称。我想做的是在每个组织旁边都有一个“添加”链接,就像编辑一样(就像删除和编辑按钮一样)。
它会抓取 OrganizationID 并将其传递给我在其他控制器中的一个创建视图,并自动填写 OrganizationID 字段。
添加链接将简单地指向具有 DropDownList 的视图。然后,用户将选择选项之一,例如地址,以将地址添加到从组织列表中选择的组织。用户选择地址后,他们点击提交按钮。然后它转到 OrganizationAddress Create View 并自动填写 OrganizationID 字段。
我真的希望我解释得足够好。
这是我的 OrganizationController 中的 Add ActionResult
public ActionResult Add(int id)
{
using (var db = new VAGTCEntities())
{
ViewBag.OrgPages = ddp.PageList();
return View(db.Organizations.Find(id));
}
}
抓住组织。
这是我的添加视图中的表单:
<fieldset>
<legend>Organization</legend>
@Html.HiddenFor(model => model.OrganizationID)
<div class="editor-label">
@Html.Label("Add:")
</div>
<div>
@Html.DropDownList("OrgPages")
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
这是我的 OrganizationController 中的 Add POST ActionResult
[HttpPost]
public ActionResult Add(int id, Organization organization, int OrgPages)
{
try{
ViewBag.OrgID = id;
if (OrgPages == 2)
return RedirectToAction("Create", "OrgAddress");
else if (OrgPages == 3)
return RedirectToAction("Create", "OrgIE");
else if (OrgPages == 4)
return RedirectToAction("Create", "OrgMembership");
else if (OrgPages == 5)
return RedirectToAction("Create", "OrgBusinessType");
else if (OrgPages == 6)
return RedirectToAction("Create", "OrgIndustryType");
else if (OrgPages == 7)
return RedirectToAction("Create", "OrgPhone");
else if (OrgPages == 8)
return RedirectToAction("Create", "OrgEmail");
else if (OrgPages == 9)
return RedirectToAction("Create", "OrgWebsite");
else if (OrgPages == 9)
return RedirectToAction("Create", "OrgNote");
else
return RedirectToAction("Index");
}
catch (Exception)
{
ModelState.AddModelError("Error", "This item exists in the database already.");
ViewBag.OrgPages = ddp.PageList();
}
return View(organization);
}
从这里我无法弄清楚。我尝试传递的任何内容都为空。我还是 MVC 的新手——慢慢地,慢慢地学习我的方式!
非常感谢!