ajax метод для удаления элемента из списка и получения ошибки в модели - PullRequest
0 голосов
/ 26 сентября 2019

это мой взгляд **** Я перечисляю свою модель здесь

@model  WebApplication2.Models.NewsListQueryModel
<table class="table table-bordered" id="tblNews" >
                        <thead>
                            <tr>
                                <th>Id News</th>
                                <th>News Time</th>
                                <th>News Name</th>
                                <th>News Author</th>
                                <th>News Content</th>                                
                                <th>Değiştir</th>
                                <th>Sil</th>

                            </tr>
                        </thead>
                        <tbody>
                            @foreach (var item in Model.NewsList)//this part collapse
                            {
                            <tr>
                                <td>@item.IdNews</td>
                                <td>@item.NewsTime</td>
                                <td>@item.NewsName</td>
                                <td>@item.NewsAuthor</td>
                                <td>@item.NewsContent</td>


                                <td><a class="btn btn-primary" href="/Author/AuthorList/@item.IdNews">Değiştir</a></td>
                                <td><a class="btn btn-warning buttonsil " data-id="@item.IdNews" >Sil</a></td>

                            </tr>
                            }
                        </tbody>
                    </table>

это мой код ajax ı удалить объект, используя этот код ajax

 $("#tblNews").on("click", ".buttonsil", function () {
        var btn = $(this);
        bootbox.confirm("Silmek istediğinize eminmisiniz", function (result) {
            if (result) {
                var id = btn.data("id");
                $.ajax({
                    url: "/NewsAdd/Delete/" + id,
                    type: "GET",
                    success: function () {
                        btn.parent().parent().remove();

                    },
                });
            }
        });     
    });

это мой контроллер NewsList Я перечисляю мою модель здесь Удалить элемент с идентификатором ajax удаляется и удаляется здесь

 public ActionResult NewsList()
        {
            var mod = new NewsListQueryModel();
            mod.NewsList = lzm.News.ToList();

            return View("NewsList", mod);

        }


        public ActionResult Delete(int id)
        {
            var newsdelete = lzm.News.Find(id);
            if (newsdelete == null)
            {
                return HttpNotFound();
            }
            lzm.News.Remove(newsdelete);
            lzm.SaveChanges();

            return View("NewsList");

        }

это моя модель

public class NewsListQueryModel
    {
        public List<News> NewsList { get; set; }
    }

Я получаю ошибку, когда удаляю элемент из списка в wiew.Ошибка: System.Web.Mvc.WebViewPage.Model.get вернул null .System.NullReferenceException:

1 Ответ

0 голосов
/ 26 сентября 2019

При удалении вы возвращаете действие («NewsList»);без модели, поэтому в представлении модель будет нулевой, а модель в foreach получит ошибку.Вы можете попробовать

@if(Model.NewsList != null && Model.NewsList.Count > 0)
{

}
...