2013-02-26 1 views
0

Я бы хотел, чтобы загрузить, скажем, 20 видео из базы данных, а затем, когда пользователь нажимает кнопку под названием «Показать больше», загружаются еще 20 результатов в div.Динамически загружать пучки данных из базы данных sql с использованием MVC 4 и C#

Как я мог это сделать? Я сделаю это с AJAX, но я не уверен, как я собираюсь получить следующие 20 результатов ...

Примером являются изображения Google - вы ищете изображение и в нижней части страницы, вы нажмите кнопку «Дополнительно». Porn сайты часто имеют нечто похожее.

Любые идеи?

Я использую MVC 4, .Net 4.5, Entity Framework 5, C# и механизм просмотра Razor.

+0

Что вы используете для доступа к данным? Entity Framework? ADO.NET? – Restuta

+6

Так и подмывает +1 для «порносайты сделать это». –

+0

Ничего, я думал о создании отдельной таблицы с blobID и videoID. При вставке, значение до 20 будет назначено и выведено в БД. Затем, при получении, я получаю все видео с идентификатором blob, например ... 5 Это вернет мне 20 видеороликов, назначенных где blobID = 5. Это просто идея, о которой я только подумал, - не знаю, будет ли это эффективно или даже работать. – pookie

ответ

0

В основном вы пытаетесь создать страницы, но используя другой интерфейс, который загружает вторую страницу в текущую страницу против перехода к следующей странице:

Смотрите этот ответ на вопрос о связанном с постраничным и теперь просто сделать свой Аякс звонить, чтобы получить нужную страницу и загрузить его на текущую страницу ..

How do I do pagination in ASP.NET MVC?

вместо:

<%=Html.ActionLink("next page", "Search", new { 
       query, startIndex = startIndex + pageSize, pageSize }) %> 

вы можете это сделать:

<%= Ajax.ActionLink("next page", "Search", 
     new { query, startIndex = startIndex + pageSize, pageSize },    
     new AjaxOptions {UpdateTargetId = "VideoContainer", InsertionMode = InsertionMode.InsertAfter}) 
     %> 
+0

Спасибо, это, вероятно, тоже будет работать, но я думаю, что .Skip() - это то, как я пойду. – pookie

+0

Обратите внимание, что в ссылке это также метод пропуска и принятия, но он реализован таким образом, что он позволит разбивать на страницы для любого действия контроллера, предоставляя параметр по умолчанию для данных маршрута, поэтому в основном вы делаете то же самое. :) – Mortalus

+0

Хмм. .. Как я могу добавить pageSize и startIndex? Я добавил маршрут, но я все равно получаю «не могу разрешить символ startIndex, pageSize». Также добавлены параметры к методу Action. Есть идеи? – pookie