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);
}