我正在尝试显示基于类别过滤器和ItemsPerPage的过滤产品列表,但在尝试将其与PagedList一起使用时遇到了一些问题.
如果我需要编写自己的分页代码,或者有办法使用PagedList获得我需要的结果,那么具有PagedList专业知识的人可以建议我.
我正在使用LINQ的Skip&Take函数来获取当前页面上需要显示的行数,但我仍然希望根据过滤器的总计数来分页链接显示页面.
例如:我的搜索过滤器找到50个结果,但由于我每页的行数是10个项目,我使用LINQ的Skip()和Take()只返回10行.我仍然需要在我的View.cshtml中显示页面链接<< 1 | 2 | 3 | 4 | 5 >> 现在使用默认的PagedList,我只得到<< 1 >>,我知道为什么我只看到一个页面,但我只想知道如何使其工作以显示正确数量的页面链接,而只获得一个子集结果
**我的目标是将优化的查询写入数据库,以便网页响应性能快速.
这是我的Action方法的代码.代码获得了正确的结果,但分页不起作用,因为我需要它:
public ViewResult List(int page =1, string category =null)
{
if (category != null) this.CurrentCategory = category;
var products = repository.Products
.Where(p => this.CurrentCategory == null || p.Category == this.CurrentCategory)
.OrderBy(p => p.ProductID)
.Skip((page -1) * PageSize)
.Take(PageSize);
return View(products.ToList().ToPagedList(page, PageSize));
}
Run Code Online (Sandbox Code Playgroud)
以下是View中处理分页的代码段.我查看了项目的Github网站,但找不到提供自定义页面的扩展方法.我认为它只会根据"每页的项目数"和@Model中产品的Count()来呈现页数:
@model IPagedList<Product>
//foreach loop that renders the @Model
//Code that displays the pagination using PagedList …Run Code Online (Sandbox Code Playgroud) 有人可以建议在Android Cocos2D-X项目中向何处以及如何添加资产.我已经尝试过只将资源链接到Eclipse中的"assets文件夹",以及通过项目所在的文件系统将资产的副本物理放置在assets文件夹中.但是当我在Eclipse中构建或运行项目时,资产将被删除.我也试过运行'build_native.sh'然后在Eclipse中运行projectt,因为这个站点上的其他帖子已经建议但是在所有情况下资产都被删除了.
是否有我需要放置资产的另一个位置.我还需要在项目中的配置文件中手动添加它们(例如:清单文件).
我的系统:Mac OS Lion Eclipse Juno Cocos2D-X v2.1 Beta 3
请指教.
我需要一些帮助来尝试使用Eclipse设置C++/Java构建.我正在学习本教程(http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started),但我无法理解为什么我一直得到"请定义NDK_ROOT".
我更新了create-android-project.sh文件并在终端中应用了这个cmd:export NDK_ROOT ="与create-android-project.sh文件中的NDK相同的路径".当我运行'create-android-project.sh'时,我没有创建项目的问题,运行新创建的项目的build_native.sh也运行有任何问题.
因此,按照以下步骤将"Build Command"从默认更新为教程要求编译项目中的C++和Java文件,而不必在终端中运行build_native.sh,在Eclipse中运行项目.
如果我将自定义构建删除为默认所有编译并在模拟器和设备上的项目上运行.
我附上了项目构建的设置和控制台日志的屏幕截图.
开发环境:Mac OS 10.8(Lion)Eclipse Juno 64-BIT Cocos2d-x v2.0-x-2.0.3 NDK:android-ndk-r7-crystax-5.beta2
请指教.
我试图在我的XNA项目中序列化数据.我有一个在运行时使用的Texture2D背景属性,但我也有一个'字符串属性'来保存我的背景名称.这将允许我序列化资产名称,以便稍后我可以使用该信息进行反序列化并加载到我的游戏中.
问题是myTexture.Name属性是为了保存资产名称,但是当我尝试序列化为XML文件时,BackgroundName元素为空.
以下是Property代码的样子:
//This property is Only used for serialization, myTexture is Texture2D and is assigned in the ctor of the class
public string BGName { get { return this.myTexture.Name;} set{/*Empty on purpose*/} }
Run Code Online (Sandbox Code Playgroud)
有人可以建议,如何从Texture2D检索资产名称,根据MSDN,这个字段保存纹理的名称.