2014-12-05 2 views
0

Я стрельбы в DevExpress Gridivew при запросе страницыНазначить Viewbag из запроса @ HTML.Action

@Html.Action("ActionName") 

В этом методе Actionesult код заполнит GridView, и я хотел бы использовать viewbag для показать общее количество элементов внутри сетки.

// we have the row count - so assign it. 
ViewBag.NoOpenItems = List<People>.Count; 

return PartialView("GridView", List<People>); 

Итак, когда сетка заполнена и назначена сумка просмотра, сумка не показывает ничего внутри.

<h5>Total @ViewBag.NoOpenItems</h5> 

Однако, когда я присвоить значение в viewbag внутри основного метода GET действий при загрузке страницы, значение viewbag правильно отображается на странице, поэтому я предполагаю, что ИТС делать с назначением viewbag внутри метод действия? - На самом деле, когда я пишу это, я предполагаю, что проблема заключается в том, что метод действия возвращает PartialView?

если да, то кто-нибудь знает, как я могу достичь того, что мне нравится делать?

+3

'Список .Count' недопустим Синтаксис C#. –

+0

Я знаю .... приведенный выше код иллюстрирует, как я устанавливаю viewbag так, используя '.count' из' IList', но это не является синтаксисом. – user3428422

+0

создать ViewModel и установить его свойство и передать эту модель для просмотра –

ответ

0

Вы можете непосредственно использовать его в View, если модель является List<T> вместо того чтобы положить в ViewBag:

@model List<People> 

@if(Model != null) 
{ 
<h5>Total @Model.Count</h5> 
} 

или:

<h5> @(Model != null ? Model.Count : 0)</h5> 
+0

Мне нравится идея, и вот как я однако, назначая счет перед возвратом 'PartialView', он не запускает этот код снова, поэтому' @ Model' всегда будет NULL – user3428422

+0

вы можете показать свой реальный код вместо фиктивного кода? –

0

вы можете использовать Gridivew пейджера свойство, чтобы показать не от записи

settings.SettingsPager.Position = PagerPosition.TopAndBottom; 
    settings.SettingsPager.FirstPageButton.Visible = true; 
    settings.SettingsPager.LastPageButton.Visible = true; 
    settings.SettingsPager.PageSizeItemSettings.Visible = true; 
    settings.SettingsPager.PageSizeItemSettings.Items = new string[] { "10", "20", "50" }; 

для получения более подробной информации Вы можете посетить Devexpress GridView page

Смежные вопросы