0
如何通過差異類型的模型(取決於在控制器中返回)來查看?如何在視圖中傳遞差異類型的模型?
這裏是我的控制器:
public ActionResult Index()
{
if (Session["username"] != null)
{
if (isAdmin(Session["username"].ToString()))
{
return View(db.Branches.ToList());
}
else
{
int id = db.Users.Find(Session["username"]).branch_id;
return View(db.Branches.Find(id));
}
}
else
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
}
正如你所看到的,它可能會返回區別類型,以查看依賴於用戶管理或沒有。
這種觀點的名單分行的返回,而不是單一分行
@model IEnumerable<Inspinia_MVC5_SeedProject.Models.Branch>
<table class="table table-striped">
<tr>
<th>
@Html.DisplayNameFor(model => model.name)
</th>
<th>
@Html.DisplayNameFor(model => model.address)
</th>
<th>
@Html.DisplayNameFor(model => model.create_date)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.address)
</td>
<td>
@Html.DisplayFor(modelItem => item.create_date)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id=item.id }, new { @class = "btn btn-primary btn-sm"})
@Html.ActionLink("Edit", "Edit", new { id=item.id }, new { @class = "btn btn-white btn-sm"})
@Html.ActionLink("Delete", "Delete", new { id=item.id }, new { @class = "btn btn-white btn-sm"})
</td>
</tr>
}
</table>
我已經試過這個,但是當我回到這兩種類型的模型只是它的工作原理是剛剛處理。不是我想要的。
@model Tuple<IEnumerable<Inspinia_MVC5_SeedProject.Models.Branch>, Inspinia_MVC5_SeedProject.Models.Branch>
我該如何處理這個東西而無需爲其他模型類型創建另一個視圖?謝謝,如果有人能幫助我,我會非常合適。您可能不需要向我發佈所有代碼,只需要一些關鍵字,或者告訴我如何才能解決問題。
OMG。你救了我的命。我已經搜索了3個多小時,沒有任何想法,只需5分鐘內解決。非常感謝你。 –