Как удалить строку из таблицы без обновления страницы?

Как удалить строку из таблицы без обновления страницы? Я удалил представление удаления из представлений, но оно показывает мне «Ресурсы не могут быть найдены» Я не настолько совершенен в MVC, если бы кто-то мог мне помочь с этим, я буду очень благодарен.

Вот мой контроллер

[Вот мой индексный просмотр

<table id = "customers">
    <tr>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Salary)
        </th>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Address)
        </th>
        <th style = "text-align:center">Action</th>
    </tr>

    @foreach (var item in Model)
    {
        <tr class = "centerAlign">
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Salary)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Address)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>

public ActionResult Delete(int id = 0)
        {
            New_Table new_table = db.New_Table.Find(id);
            if (new_table == null)
            {
                return HttpNotFound();
            }
            return View(new_table);
        }

        //
         //POST: /Default1/Delete/5

        [HttpPost]
        public ActionResult Delete(int id)
        {
            New_Table new_table = db.New_Table.FirstOrDefault(s => s.Id.Equals(id));
            if (new_table != null)
            {
                db.DeleteObject(new_table);
                db.SaveChanges();
            }
            return View("Index");
        }

] 2

Вам придется использовать JavaScript и Ajax. Попробуйте поработать с Ajax.ActionLink в Razor View.

Tobias 11.06.2018 08:24
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
813
2

Ответы 2

  1. Удалить ссылку на действие: - @ Html.ActionLink ("Изменить", "Изменить", новый {id = item.Id})
  2. Поместите этот item.id в скрытое поле
  3. Получите идентификатор из скрытого поля в переменной javascript.
  4. Вызовите свой метод действия удаления с помощью вызова ajax [POST], передайте идентификатор в вызове ajax.

Надеюсь, это поможет!

Этот код не работал, чего мне не хватает, не могли бы вы уточнить.

Vishnu Sharma 13.06.2018 11:58

Просто используйте для этого JavaScript и Ajax. Попробуйте этот подход в своем DeleteView:

<script>
function DeleteId(id)
{
  $.ajax({
     dataType: "json",
     url: '@Url.Action("ActionName","ControllerName")',
     data: {id: id},
     success: function(result){
                //todo
            }
       });
    }
</script>

<table id = "customers">
    <tr>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Salary)
        </th>
        <th style = "text-align:center">
            @Html.DisplayNameFor(model => model.Address)
        </th>
        <th style = "text-align:center">Action</th>
    </tr>

    @foreach (var item in Model)
    {
        <tr class = "centerAlign">
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Salary)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Address)
            </td>
            <td>

            <!-- Code Removed for simplicity -->
            <a onClick = "DeleteId('@item.Id');"> Delete <a/>
            </td>
        </tr>

Спасибо за ответ, но это не сработало, я применил этот код.

Vishnu Sharma 13.06.2018 11:55

Другие вопросы по теме