模板页代码:
@model PagedList<AppBasicData> //此处是页面循环绑值的数据源,在Controller通过return View(list)返回到模板页
@using Webdiyer.WebControls.Mvc; //这个是实现前端模板页分页的第三方控件
@{
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>IndexPage</title>
<link rel="stylesheet" type="text/css" href="~/Content/BasicData/div_table.css" />
</head>
<body>
<div>
<div class="table">
<div class="tab_tr">
<div class="tab_th">名称</div>
<div class="tab_th">key值</div>
<div class="tab_th">value值</div>
<div class="tab_th">创建时间</div>
<div class="tab_th">操作</div>
</div>
@foreach (var item in Model)
{
<div class="tab_tr">
<div class="tab-td">@item.Name</div>
<div class="tab-td">@item.Key</div>
<div class="tab-td">@item.Value</div>
<div class="tab-td">@item.CreateDate</div>
<div class="tab-td">@Html.ActionLink("编辑", "Edit",new {key = @item.Key}) |@Html.ActionLink("删除", "Delete", new { id = @item.Key})</div> //传值
</div>
}
</div>
<div class="text-right"> //第三方分页工具
@Html.Pager(Model).Options(o => o.SetPageIndexParameterName("id").SetHorizontalAlign("right").SetPagerItemTemplate("{0} "))
</div>
</div>
</body>
</html>
Controller层的代码大概浏览
// GET: BasicData
public ActionResult IndexPage(int id = 1) //接收参数时只要定义参数和URL中的相同,即可以自动接收,不用单独写querystring方法
{
//读取配置的分页条数
int pageSize = int.Parse(ConfigurationManager.AppSettings["PageSize"].ToString());
using (var db = new MyDbContext())
{
PagedList<AppBasicData> list = db.AppBasicDatas.Where(x => x.DeleteFlag == false).OrderByDescending(a => a.Key).ToPagedList(id, pageSize);
return View(list);
}
}
public ActionResult Edit(string key) //接收参数时只要定义参数和URL中的相同,即可以自动接收,不用单独写querystring方法
{
if (key.Length > 0)
{
using (var db = new MyDbContext())
{
AppBasicData model = db.AppBasicDatas.Where(x => x.Key == key).SingleOrDefault();
BasicDataPageModel bModel = new BasicDataPageModel();
bModel.key = model.Key;
bModel.create_date = DateTime.Parse(model.CreateDate.ToString());
bModel.name = model.Name;
bModel.values = model.Value;
return View(bModel);
}
}
return View();
}
|