Назначьте Viewbag из запроса @HTML.Action

Я запускаю DevExpress Gridivew, когда запрашивается страница

@Html.Action("ActionName") 

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

// 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 Action при загрузке страницы, значение viewbag правильно отображается на странице, поэтому я предполагаю, что это связано с назначением viewbag внутри метода action? - На самом деле, когда я пишу это, я предполагаю, что проблема заключается в методе действия, возвращающем PartialView?

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

2 ответа

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

@model List<People>

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

или же:

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

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

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

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