我迈出了MVC的第一步。我试图制作我的个人壁纸画廊。
所以我做了Mockup我想要达到的目标。
截至今天,我在网上搜索了大约三天才能完成这件事。但是我在过滤和分页方面遇到了问题,所以我希望有人可以帮助我。
这是我到目前为止所做的:
查看
@using PagedList.Mvc;
@model PagedList.IPagedList<WallpaperGalleryWeb.Wallpaper>
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.thumbnail {
width: 200px;
height: 112px;
margin: 5px;
float: left;
}
.thumbnail img {
height: 100%;
width: 100%;
}
</style>
@foreach (var item in Model)
{
<div class="thumbnail" onclick="">
<a href="~/Wallpapers/Details/@item.ID" style="display: block; height: 100%">
<img src="~/File/Thumbnail/@item.ID">
</a>
</div>
}
<br clear="all" />
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))
控制器
public class WallpapersController : DatabaseController
{
// GET: Wallpapers
public ActionResult Index(int? page)
{
return PartialView(db.Wallpapers.Include(i => i.Author)
.Include(i => i.Orientation)
.Include(i => i.Set)
.Include(i => i.Source)
.Include(i => i.Category)
.OrderBy(x => x.ID)
.ToPagedList((page ?? 1), 100));
}
// GET: Wallpapers/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Wallpaper wallpaper = db.Wallpapers.Find(id);
if (wallpaper == null)
{
return HttpNotFound();
}
return View(wallpaper);
}
}
所以我现在的问题是:如何通过下拉列表获取静态布局(我知道如何通过CSS)进行过滤/排序,并将选定的值与分页功能相结合,传递给控制器以仅刷新&#34;结果区&#34;与控制器的项目?
问候!