Asp.net mvc Can';在我的视图中看不到我的记录信息
我试图删除一条记录(这是一个简单的电话簿项目),并在确认页面中显示它的数据,但现在看起来是这样的 这是我的家庭控制器Asp.net mvc Can';在我的视图中看不到我的记录信息,asp.net-mvc,razor,crud,Asp.net Mvc,Razor,Crud,我试图删除一条记录(这是一个简单的电话簿项目),并在确认页面中显示它的数据,但现在看起来是这样的 这是我的家庭控制器 #region [- Get -] [HttpGet] // [HttpDelete] public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model) { return View(); } #endregion #
#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>
@model Phone\u Book.Models.EF\u model.Phone\u Book
@{
ViewBag.Title=“删除”;
}
删除
是否确实要删除此项?
电话簿
@DisplayNameFor(model=>model.First\u Name)
@DisplayFor(model=>model.First\u Name)
@DisplayNameFor(model=>model.Last_Name)
@DisplayFor(model=>model.Last_Name)
@DisplayNameFor(model=>model.Number)
@DisplayFor(model=>model.Number)
@DisplayNameFor(model=>model.Email)
@DisplayFor(model=>model.Email)
@DisplayNameFor(model=>model.Address)
@DisplayFor(model=>model.Address)
@使用(Html.BeginForm()){
@Html.AntiForgeryToken()
|
@ActionLink(“返回列表”、“索引”)
}
我试图自己解决这个问题,但想不出任何办法
如何填补空白?您没有将模型实例发送到视图:
public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model)
{
return View();
}
return View(_model);
var model = **query your DB here**;
return View(model);
所以没有什么可展示的。通常情况下,我不会怀疑将模型实例作为参数来执行此操作。调试时,\u model
是否有您要查找的实例?如果是,请将其传递到视图:
public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model)
{
return View();
}
return View(_model);
var model = **query your DB here**;
return View(model);
如果没有,可以使用\u id
从数据源查找模型并将其传递到视图:
public ActionResult Delete(int? _id, Models.EF_Model.Phone_book _model)
{
return View();
}
return View(_model);
var model = **query your DB here**;
return View(model);
(如果连
\u 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);
}
你应该根据你的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);
}