我正在與MongoDB結合使用小型ASP.NET MVC 4應用程序。目前我有4個視圖:索引,創建,列表,編輯。創建是一種將數據放入數據庫的表單。列表是顯示數據的列表。編輯是一種編輯數據的表單。這三個視圖在「索引」視圖(RenderAction)內呈現。隱藏/查看編輯查看錶格
目標是在索引視圖內只顯示兩個視圖。索引與創建的組合或索引與編輯的組合。
在這一刻我在與編輯視圖的問題(控制器內):
[HttpGet]
public ActionResult Edit(string id)
{
Car car = CarRentalContext.Cars.FindOneById(new ObjectId(id));
return View(car.ConvertToUpdateViewModel());
}
編輯觀點:
@model MvcApplication1.ViewModels.UpdateCarViewModel
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>UpdateCarViewModel</legend>
@Html.HiddenFor(model => model.Id)
<div class="editor-label">
@Html.LabelFor(model => model.Make)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Make)
@Html.ValidationMessageFor(model => model.Make)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.NumberOfDoors)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.NumberOfDoors)
@Html.ValidationMessageFor(model => model.NumberOfDoors)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DailyRentalFee)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.DailyRentalFee)
@Html.ValidationMessageFor(model => model.DailyRentalFee)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
索引視圖:
@model MvcApplication1.ViewModels.InsertCarViewModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@{Html.RenderAction("Create", Model);}
</div>
<div>
@{Html.RenderAction("List", Model);}
</div>
<div>
@{Html.RenderAction("Edit", Model);}
</div>
</body>
</html>
顯然編輯視圖需要顯示一個ID,並且當我使用RenderAction
時,它會得到一個錯誤,因爲存在當我啓動應用程序時沒有ID。我不想在不需要的時候隱藏這個視圖,只在需要時才顯示這個視圖。我怎麼能沒有Javascript/JQuery的存檔。
我需要一個if/else語句在我的ActionResult
裏面嗎?
你可以發佈你現有的'查看' – ediblecode 2015-02-24 13:32:34
我編輯了我的問題。在我的索引視圖中,我有3個div,每個div都有一個'@ {Html.RenderAction(「View」,Model);}' – bbvanee 2015-02-24 13:36:32
我想看看你的'Index'視圖,道歉。 – ediblecode 2015-02-24 13:37:33