注意:为了使每次点击搜索按钮时都跳回第一页,BeginForm扩展方法中第三个参数用new RouteValueDictionary{{"id",""}}将页索引路由值指定为空值,否则若当前为第五页,则点击搜索按钮重新搜索后当前页仍然为第五页。
注意:为了使每次点击搜索按钮时都跳回第一页,BeginForm扩展方法中第三个参数用new RouteValueDictionary{{"id",""}}将页索引路由值指定为空值,否则若当前为第五页,则点击搜索按钮重新搜索后当前页仍然为第五页。
序号 | 文章标题 | 作者 | 文章来源 |
---|---|---|---|
51 | 2011年吴起县人民政府工作报告 | Webdiyer | 吴起政府网 |
52 | 吴起采油厂原油年产突破200万吨文艺晚会 | Webdiyer | 吴起热线 |
53 | [新闻调查]吴起:免费教育实验 | Webdiyer | 吴起热线 |
@model PagedList<article> @using (Html.BeginForm("Search", ViewContext.RouteData.GetRequiredString("Controller"), new RouteValueDictionary { { "id", "" } }, FormMethod.Get)) { <div class="well well-sm"> <span>搜索关键字:</span><input type="text" name="kword" value="@Request.QueryString["kword"]" style="width:120px" /><input type="submit" value="搜索(S)" accesskey="S" /> <span>(请输入“吴起”或“吴起县”进行测试)</span> </div> } @Html.Partial("_ArticleTable", Model) @Html.Pager(Model).Options(o => o.SetPageIndexParameterName("id").SetPagerItemTemplate("{0} "))
@model PagedList<Article> <table class="table table-bordered table-striped"> <tr> <th class="nowrap">序号</th> <th> @Html.DisplayNameFor(model => model.Title) </th> <th> @Html.DisplayNameFor(model => model.PubDate) </th> <th> @Html.DisplayNameFor(model => model.Author) </th> <th> @Html.DisplayNameFor(model => model.Source) </th> </tr> @{ int i = 0;} @foreach (var item in Model) { <tr> <td>@(Model.StartItemIndex + i++)</td> <td> @Html.DisplayFor(modelItem => item.Title) </td> <td> @Html.DisplayFor(modelItem => item.PubDate) </td> <td> @Html.DisplayFor(modelItem => item.Author) </td> <td> @Html.DisplayFor(modelItem => item.Source) </td> </tr> } </table>
public class Article { [Display(Name="文章编号")] public int ID { get; set; } [Display(Name="文章标题")] [MaxLength(200)] public string Title { get; set; } [Display(Name = "文章内容")] public string Content { get; set; } [Display(Name = "发布日期")] public DateTime PubDate { get; set; } [Display(Name = "作者")] [MaxLength(20)] public string Author { get; set; } [Display(Name = "文章来源")] [MaxLength(20)] public string Source { get; set; } }
public ActionResult Search(int id = 1, string kword = null) { using (var db = new DataContext()) { var query = db.Articles.AsQueryable(); if (!string.IsNullOrWhiteSpace(kword)) query = query.Where(a => a.Title.Contains(kword)); var model = query.OrderByDescending(a => a.PubDate).ToPagedList(id, 5); return View(model); } }