我正在尝试通过Azure devops部署MVC Web应用程序,在部署到Azure应用程序服务后,分页列表没有显示在我的视图中,但它在我的本地调试中工作正常。
我的视图.cshtml:
<div class="footer-fixed">
<vc:pager paging-list="@Model.PagingList" />
</div>
它不是寻呼列表项,而是按如下方式传递:在浏览器开发工具中部署后
<vc:pager paging-list="Paging.Razor.PagingList`1[ViewModelClassName]">
</vc:pager>
PagingList.cs来自单独的项目而不是MVC项目
public static PagingList<T> Create<T>(IEnumerable<T> items, int totalRecordCount, int pageSize, int pageIndex, string sortExpression, string defaultSortExpression, string action = "Index") where T : class
{
var pageCount = (int)Math.Ceiling(totalRecordCount / (double)pageSize);
return new PagingList<T>(items.ToList(), pageSize, pageIndex, pageCount, sortExpression, defaultSortExpression, totalRecordCount, action);
}
有人能帮我一下吗?
谢谢!
我试着在本地复制,但不行。我试着清理/重新部署,但没有运气。
1条答案
按热度按时间u3r8eeie1#
问题与分页列表有关,在将MVC Web应用部署到Azure应用服务后,分页列表未显示。问题在于分页列表作为**“Paging.Razor. PagingList'1 [ViewModelClassName]”而不是分页列表项传递。[0]**
当问题与
pageCount
变量的计算有关时会发生这种情况,该变量被计算为totalRecordCount
除以pageSize
。检查传递给
Create method are correct
的参数。索引视图
此外,当PagingList对象传递到部署的应用程序中的视图时,该对象没有正确序列化。
Another way
的方法是,在返回视图的控制器操作中将PagingList对象显式转换为JSON字符串,然后将JSON字符串作为字符串参数传递给视图。然后,在视图中,可以使用JSON反序列化器(如Newtonsoft.Json)将JSON字符串解析回PagingList对象。
在剃刀视图中
有关详细信息,请参阅paging-search-sorting和paging.