我试图删除一条记录(它是一个简单的电话簿项目)并在确认页面显示它的数据,但现在它看起来像这样
这是我的家庭控制器
#region [- Get -]
[HttpGet]
// [HttpDelete]
public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model)
{
return View();
}
#endregion
#region [- Post -]
[HttpPost]
//[HttpDelete]
public ActionResult Delete(Models.EF_Model.Phone_book _Model)
{
if (ModelState.IsValid)
{
Ref_ViewModel = new ViewModel.ViewModel();
Ref_ViewModel.Delete(_Model.Id);
}
else
{
ViewBag.Massage = "Choose a Contact";
}
return View(_Model);
}
#endregion
#endregion
这是它的观点
@model Phone_Book.Models.EF_Model.Phone_book
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>Phone_book</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.First_Name)
</dt>
<dd>
@Html.DisplayFor(model => model.First_Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Last_Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Last_Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Number)
</dt>
<dd>
@Html.DisplayFor(model => model.Number)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Email)
</dt>
<dd>
@Html.DisplayFor(model => model.Email)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Address)
</dt>
<dd>
@Html.DisplayFor(model => model.Address)
</dd>
</dl>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
@Html.ActionLink("Back to List", "Index")
</div>
}
</div>
我试图通过自己来解决这个问题,但却无法想到任何事情
我怎么能填补空白?
答案 0 :(得分:1)
问题在于您不会从控制器向视图发送任何内容。
您应该根据您的ID找到您的联系人。完成后,检查它是否为空并将其发送到您的视图。
[HttpGet]
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Phone_Book.Models.EF_Model.Phone_book contact = Context.Phone_book.Select(_id);
if (contact == null)
{
return HttpNotFound();
}
return View(contact);
}
答案 1 :(得分:0)
您没有向视图发送模型实例:
public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model)
{
return View();
}
所以没有什么可以展示的。通常我不会怀疑这个动作将模型的实例作为参数。调试时,_model
是否包含您要查找的实例?如果是这样,请将其传递给视图:
return View(_model);
如果没有,您可以使用_id
从数据源中查找模型并将其传递给视图:
var model = **query your DB here**;
return View(model);
(如果即使_id
没有填充任何有用的内容,那么听起来你还有其他问题需要解决。)