</div>
在视图中可以创建这样一个空的标签
JS代码:
function search() {
var status = $("#status").val();
var name = $("#name").val();
$.post("控制器的Url", {
name: name,
status: status
},
function (data) {
$("#indexTable").empty();
$("#indexTable").append(data);
}, 'html');
};
获取视图中输入的名字的信息,并发出POST请求,将收到的信息填入<div>层中
$(function () {
search();
})
在加载页面之前也加载一遍数据,防止在未搜索的时候没有任何数据
控制器代码:
public ActionResult LoadIndexTable(int pageIndex = 1)
{
int sum = 0;
int total = 0;
StringBuilder sb = new StringBuilder();
sb.Append("../CampaignManage/LoadIndexTable?s=b");
#region 数据处理
//活动名称
var name = Request.Params["name"];
if (!string.IsNullOrEmpty(name))
{
sb.Append("&name=" + name);
}
else
{
name = "";
}
//状态
var status = Request.Params["status"];
if (!string.IsNullOrEmpty(status))
{
sb.Append("&status=" + status);
}
else
{
status = "0";
}
#endregion
var table = new CampaignInfoMan().GetListByPage(name, out sum, out total,
pageIndex);
ViewBag.table = table;
TempData["PageModel"] = new PagedViewModel()
{
PageIndex = pageIndex,
PageCount = sum,
IsFirstPage = pageIndex == 1,
IsLastPage = pageIndex == sum,
RequestUrl = sb.ToString(),
PageSum = total
};
return PartialView("IndexTable");
}
将数据从数据库中取出,放到一个IndexTable的分布视图中
public List<CampaignInfo> GetListByPage(string name, out int sum, out int totalCount, int pageIndex, int isComplete = 0, int pageSize = 10)
{
var t =
db.CampaignInfos.Where(
x =>
x.DataStatus == PublicEnumList.DataStatus.正常 &&
(name == "" || x.Name.Contains(name)) &&
(isComplete == 0 || (x.StartTime != null && x.EndTime != null && x.SourceIds != "")));
totalCount = t.Count();
sum = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
return t.OrderByDescending(c => c.Id).Take(pageSize * pageIndex).Skip(pageSize * (pageIndex - 1)).ToList();
}
}
业务逻辑层代码:
public List<CampaignInfo> GetListByPage(string name, out int sum, out int totalCount, int pageIndex, int isComplete = 0, int pageSize = 10)
{
var t =
db.CampaignInfos.Where(
x =>
x.DataStatus == PublicEnumList.DataStatus.正常 &&
(name == "" || x.Name.Contains(name)) &&
(isComplete == 0 || (x.StartTime != null && x.EndTime != null && x.SourceIds != "")));
totalCount = t.Count();
sum = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
return t.OrderByDescending(c => c.Id).Take(pageSize * pageIndex).Skip(pageSize * (pageIndex - 1)).ToList();
}
}
将数据按名字提取出来