0
我創建了一個頁面,使用實體框架來檢索/顯示數據庫中的信息我也有在同一頁上的部分視圖中創建功能,但它不'保存/插入數據。ASP.NET MVC創建功能不工作在頁面
這裏是我的主頁查看:
@model IEnumerable<TerminalHost.Models.buildingInfo>
@{
ViewBag.Title = "Home Page";
}
<h3>We suggest the following:</h3>
<ol class="round">
<li class="one">
<h5>Please begin creating your network structure:</h5> <button id="modal-opener">Add a new building</button>
</li>
<li class="two">
</li>
</ol>
<div class="Container">
<div class="Box1">
@foreach (var item in Model)
{<div>
<h4 class="Heading">@item.buildingName</h4>
<h4 class="Heading">@item.buildingNumber</h4>
<p>@item.buildingDesc1</p>
<p>@item.buildingDesc2</p>
<p>@item.buildingDesc3</p>
</div>
}
</div>
</div>
<div id="Modal" title="Building Details">
@Html.Partial("buildForm", new TerminalHost.Models.buildingInfo())
</div>
這裏是我的局部視圖:
@model TerminalHost.Models.buildingInfo
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>buildingInfo</legend>
<div class="editor-label">
@Html.LabelFor(model => model.buildingNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.buildingNumber)
@Html.ValidationMessageFor(model => model.buildingNumber)
</div>
....
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
,這是我的控制器:
public class HomeController : Controller
{
thDB _db = new thDB();
public ActionResult building()
{
var buildingModel = _db.buildings.ToList();//you have to remove the FirstOrDefault() extension method
return View(buildingModel);
}
public ActionResult buildForm()
{
return PartialView();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult buildForm(buildingInfo buildinginfo)
{
if (ModelState.IsValid)
{
_db.buildings.Add(buildinginfo);
_db.SaveChanges();
return RedirectToAction("Index");
}
return PartialView(buildinginfo);
}
protected override void Dispose(bool disposing)
{
if(_db != null)
{
_db.Dispose();
}
base.Dispose(disposing);
}
}
我已經嘗試複製與創建用於執行CRUD功能的腳手架模板相同的代碼,但它們被分離到不同的視圖中,而I希望他們都在一個頁面上。
開始: 你能不能改變這一行:
要
而在你的行動。它是否完全進入'buildForm(buildingInfo buildinginfo)'? –