Как повторно инициализировать таблицы данных с помощью вновь полученных данных с сервера с помощью ajax в MVCJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Как повторно инициализировать таблицы данных с помощью вновь полученных данных с сервера с помощью ajax в MVC

Сообщение Anonymous »

Итак, у меня есть список меню для администратора, и под ним есть пункт «Загрузить новости». При нажатии на это конкретное меню я вызываю частичное представление, как показано ниже.

Код: Выделить всё

$("#body_data").load("/Admin/GetDailyNews", function () {
$("#dailyNews").dataTable({
"lengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]],
"columnDefs": [{ "targets": 3, "orderable": false }],
"pagingType": "full_numbers",
"oLanguage": { "sSearch": "" },
"deferRender": true
});
}
Мой PartialViewResult в AdminController выглядит следующим образом:

Код: Выделить всё

[HttpGet]
public PartialViewResult GetDailyNews()
{
var context=new MyContext();
List model = new List();
List news = (from n in context.news where n.stdate >= System.DateTime.Now orderby n.stdate descending select n).ToList();
foreach (var NEWS in news)
{
model.Add(new AVmodel.NewsEventsViewModel()
{
EDate = NEWS.stdate,
EDesc = NEWS.brief,
EName = Convert.ToString(NEWS.name),
NID = NEWS.nid
});
}
return PartialView("_UploadNews", model);
}
Мой _UploadNews.cshtml выглядит следующим образом

Код: Выделить всё

@model IEnumerable



Event Date
Event Name
Detailed News
Actions



@foreach (var news in Model)
{

@news.EDate.Date.ToShortDateString()
@Convert.ToString(news.EName)
@Convert.ToString(news.EDesc)
   

}


Так что пока все хорошо. Все идет хорошо и в таблице отображаются только те новости, которые относятся к будущим дням. Теперь у меня есть возможность для администратора получить весь набор новостей из таблицы, включая прошлые дни. Поэтому я сохранил флажок в своем частичном представлении, как показано ниже, который представляет собой тип переключателя начальной загрузки:
и я написал onswitchchange для этого конкретного флажка, как показано ниже:

Код: Выделить всё

$("[name='fetchNews-checkbox']").on('switchChange.bootstrapSwitch', function (event, state) {
if (state)
{
fetchNews('all');
}
else
{
fetchNews('upcoming');
}
});
и моя функция fetchNews выглядит следующим образом:

Код: Выделить всё

function fetchNews(context)
{
if(context!="")
{
$("#dailyNews").dataTable({
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/Admin/FetchNews"
});
}
}
при вызове этой функции я получаю предупреждение


DataTables предупреждение: table id=dailyNews — невозможно повторно инициализировать
DataTable. Дополнительную информацию об этой ошибке см. на странице
http://datatables.net/tn/3


Я посетил выше указанную ссылку, но ничего не смог понять. Может ли кто-нибудь сообщить мне, как вызвать метод json контроллера и отобразить список новостей в этой таблице?

Подробнее здесь: https://stackoverflow.com/questions/291 ... ng-ajax-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»