首页 > 解决方案 > 我如何在 MVC 网格删除控制器中解决我的这个问题

问题描述

 Controller: 

          public ActionResult Delete(int id)
                    {
     Student _std = new Student();
                    var abc = _dbcon.StudentList.Where(c => c.Roll_ID.Equals(id)).SingleOrDefault();
                    _dbcon.StudentList.Remove(abc);
                    _dbcon.SaveChanges();
                    return View("Test");

                }
    This is my view and the error comes at foreach loop
    View:

                   @foreach (StudentViewModel _EachStd in @Model.StudentList)
                 {
                            <tr>
                                <td>  @_EachStd.Roll_ID</td>
                                <td> @_EachStd.Name</td>
                                <td> @_EachStd.Maths</td>
                                <td> @_EachStd.Urdu</td>
                                <td> @_EachStd.English</td>
                                <td>@_EachStd.ObtainNumber</td>
                                <td>@_EachStd.Percentage</td>
                                <td> @_EachStd.Grade</td>
                              <td>@Html.ActionLink("Edit", "Edit", "Home", new {id= @_EachStd.Roll_ID },null)</td>
                                <td>@Html.ActionLink("Delete", "Delete", "Home", new { id = @_EachStd.Roll_ID }, null)</td>
                            </tr>
                }
            </tbody>
                </table>

我得到空错误异常,但刷新后我得到了记录删除。但是为什么会发生错误我不明白。每当我运行此代码时,我的编辑控制器工作正常,但我的删除控制器工作不正常,并且发生错误,如出现“空错误异常”

标签: model-view-controllergrid

解决方案


发生错误,就像有“Null erroe exception”一样

你的意思是一个NullReferenceException?这意味着null您正在尝试使用某些东西,就好像它具有价值一样。

这是我的观点,错误出现在 foreach 循环中

那么这条线上的东西是null?:

@foreach (StudentViewModel _EachStd in @Model.StudentList)

您试图在该行上取消引用的唯一内容是Model. 所以它遵循的Modelnull。您是否将模型传递给您的视图?

return View("Test");

不,你不是。您需要将模型传递给您的视图,以便在您的视图中使用该模型。

顺便说一句,从这个删除操作中返回一个视图可能不是首先要走的路。考虑用户现在将在 URL 上/Home/Delete并将其作为页面查看。这很快就会让用户和您的代码感到困惑。

不要返回视图,尤其是没有模型的视图,而是将用户重定向到构建模型并显示视图的操作。在您的代码中,这可能很简单:

return RedirectToAction("Test");

推荐阅读