根據本例.. http://msdn.microsoft.com/en-us/data/gg685489缺少「刪除」在MVC POST方法的東西(EF 4.1)
我正在與刪除功能的問題。
[HttpPost]
public ActionResult Delete(int id, Blog blog)
{
try
{
using (var db = new BlogDataEntities())
{
//Having issue here.. as soon as the next line is run in debug
//mode .. it goes to catch.. and returns a view with null values.
db.Entry(blog).State = System.Data.EntityState.Deleted;
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
在參數我檢查'博客'沒有得到需要刪除的實際博客模型。所有其他方法做工精細(編輯,刪除(獲取)。等等。 但刪除後失敗我缺少的東西在此先感謝您的幫助
編輯:?
視圖代碼
@model DBFirstMVC.Models.Blog
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<fieldset>
<legend>Blog</legend>
<div class="display-label">Title</div>
<div class="display-field">@Model.Title</div>
<div class="display-label">BloggerName</div>
<div class="display-field">@Model.BloggerName</div>
</fieldset>
@using (Html.BeginForm()) {
<p>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</p>
}
編輯2: 非剃刀代碼鑑於:
<% using (Html.BeginForm()) { %>
<p>
<input type="submit" value="Delete" /> |
<%: Html.ActionLink("Back to List", "Index") %>
</p>
<% } %>
EDIT 3:(我試圖在C++)
<% using (Html.BeginForm()) { %>
<p>
<%=Html.DisplayForModel();%> //Tried Html.EditorForModel also..
<input type="submit" value="Delete" /> |
<%: Html.ActionLink("Back to List", "Index") %>
</p>
<% } %>
最後編輯(修正方案)
@model DBFirstMVC.Models.Blog
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
@using (Html.BeginForm()) {
<p>
<fieldset>
<legend>Blog</legend>
<div class="display-label">Title</div>
<div class="display-field">@Model.Title</div>
<div class="display-label">BloggerName</div>
<div class="display-field">@Model.BloggerName</div>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</fieldset>
</p>
}
捕獲異常,看看是什麼問題 – Eranga 2012-02-28 15:55:52
@ZVenue我已經更新了我的答案與你的新的細節。您沒有傳遞足夠的數據來構建模型。 – Dismissile 2012-02-28 17:04:44
請參閱OP中的EDIT2非剃刀語法..如何在非剃鬚刀中編寫EditorForModel? – ZVenue 2012-02-28 17:21:31