我正试图完成我认为很简单的任务。我无法围绕它思考。将控制器中的整数传递给视图mvc
我有一个组织列表,它只是OrganizationID和Name。我想要做的就是在每个组织旁边都有一个“添加”链接,就像编辑一样,就像删除和编辑按钮一样。
它会抓取OrganizationID并将其传递给其他控制器中的其中一个“创建视图”,并自动填写OrganizationID字段。
添加链接只会指向具有DropDownList的View。然后,用户将选择其中一个选项,例如地址,将地址添加到从组织列表中选择的组织。用户选择地址后,他们点击提交按钮。然后它将转到OrganizationAddress创建视图并自动填充OrganizationID字段。
我真的很希望我解释得很好。
这是我OrganizationController
public ActionResult Add(int id)
{
using (var db = new VAGTCEntities())
{
ViewBag.OrgPages = ddp.PageList();
return View(db.Organizations.Find(id));
}
}
拿过组织添加的ActionResult。
这里是我添加视图形式:
<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
[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);
}
添加POST的ActionResult在这里,我无法弄清楚。我试图通过的任何结果都是空的。 我还是MVC的新手 - 慢慢地,慢慢地学习我的方式!
非常感谢!
非常好!非常感谢! – cfisher