2分 3个帖子 从视图到不同控制器的数据 1分钟前|链接
你好朋友
我来自哥伦比亚,对不起写作
我有一个问题我不知道如何从一个视图连接两个控制器,我正在使用EF数据库第一,这个自动类型类到我的模型,这些类之一被称为“大学”这是一个表所有大学的数据库都在哪里,另一个班级是“CAMPUS_UNIVERSITY”所在的大学校园,大学可以有多个校区
我有2个控制器及其相关视图
第一个控制器是“大学”(我认为我没必要显示)和你的视图“索引”(列出所有Universidadades)。就是这样:
@model IEnumerable<RolesMVC3.Models.UNIVERSITY>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
Nombre
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("Add Campus", "Create", "CampusUniversity" new { id=item.IdUniversity }) |
@Html.ActionLink("Edit", "Edit", new { id=item.IdUniversity }) |
@Html.ActionLink("Delete", "Delete", new { id=item.IdUniversity })
</td>
</tr>
}
</table>
链接“添加校园”路由到控制器“CampusUniversity”到“创建”操作。就是这样:
public ActionResult Create()
{
ViewBag.IdCityCampus = new SelectList(db.CITY_CAMPUS, "IdCityCampus", "Name");
ViewBag.IdUniversity = new SelectList(db.UNIVERSITY, "IdUniversity", "Name");
return View();
}
//
//
[HttpPost]
public ActionResult Create(CAMPUS_UNIVERSITY campus_university)
{
if (ModelState.IsValid)
{
db.CAMPUS_UNIVERSITY.AddObject(campus_university);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.IdCityCampus = new SelectList(db.CIUDAD_SEDE, "IdCityCampus", "Nombre", campus_university.IdCityCampus);
ViewBag.IdUniversity = new SelectList(db.UNIVERSIDAD, "IdUniversity", "Nombre", campus_university.IdUniversity);
return View(campus_university);
}
相关视图(查看“创建”控制器“CampusUniversity”)是:
@model RolesMVC3.Models.CAMPUS_UNIVERSITY
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>SEDE_UNIVERSIDAD</legend>
<div class="editor-label">
@Html.LabelFor(model => model.IdUniversity, "UNIVERSIDAD")
</div>
<div class="editor-field">
@Html.DropDownList("IdUniversity", String.Empty)
@Html.ValidationMessageFor(model => model.IdUniversity)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.IdCityCampus, "CITY_CAMPUS")
</div>
<div class="editor-field">
@Html.DropDownList("IdCityCampus", String.Empty)
@Html.ValidationMessageFor(model => model.IdCityCampus)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.AddressCampus)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.AddressCampuse)
@Html.ValidationMessageFor(model => model.AddressCampus)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.PhoneCampus)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PhoneCampus)
@Html.ValidationMessageFor(model => model.PhoneCampus)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.MailCampus)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.MailCampus)
@Html.ValidationMessageFor(model => model.MailCampus)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
我想通过单击“添加校园”来实现这一点,大学的名称来自视图创建(控制器“SedeUniversidad”)中的表或类“大学”,这可以保存大学的校园而不是我现在有,因为我必须选择DropDownList的大学,我该怎么办?
谢谢你,祝福!
答案 0 :(得分:0)
我无法理解你的一些英语。听起来您想要将“创建”视图中的数据发送到大学控制器。您可以通过在Create视图中的HTML.BeginForm语句中添加以下值,将表单的POST URL转到任意位置。
@using (Html.BeginForm("ActionName", "ControllerName"))