从@ HTML.Action请求中分配Viewbag

时间:2014-12-05 10:57:32

标签: c# html asp.net-mvc viewbag actionmethod

我在请求页面时触发了DevExpress Gridivew

@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> 

但是,当我在页面加载时为主GET Action方法内的viewbag赋值时,viewbag值在页面上正确显示,所以我猜它是如何在action方法中分配viewbag? - 实际上当我写这篇文章时,我猜测问题在于返回PartialView的动作方法?

如果是的话,有谁知道我怎么能达到我喜欢的目的?

2 个答案:

答案 0 :(得分:0)

如果模型List<T>而不是放入 ViewBag ,您可以直接在View中使用它:

@model List<People>

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

或:

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

答案 1 :(得分:0)

您可以使用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 page