在我的View里看不到我的记录信息
Can't see my record information in my View
我正在尝试删除一条记录(这是一个简单的 phone 图书项目)并在确认页面中显示它的数据,但现在它看起来像这样
这是我的家庭控制器
#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>
我试图自己解决这个问题,但想不出任何办法
我该如何填空?
您没有将模型的实例发送到视图:
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
都没有填充任何有用的东西,那么听起来您在其他地方也有其他问题需要解决。)
问题是您没有从控制器向视图发送任何内容。
您应该根据您的 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);
}
我正在尝试删除一条记录(这是一个简单的 phone 图书项目)并在确认页面中显示它的数据,但现在它看起来像这样
这是我的家庭控制器
#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>
我试图自己解决这个问题,但想不出任何办法
我该如何填空?
您没有将模型的实例发送到视图:
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
都没有填充任何有用的东西,那么听起来您在其他地方也有其他问题需要解决。)
问题是您没有从控制器向视图发送任何内容。
您应该根据您的 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);
}