/// <summary>
/// 根据条件,使用存储过程分页查询电影
/// </summary>
/// <param name="name"></param>
/// <param name="time"></param>
/// <param name="size"></param>
/// <param name="index"></param>
/// <returns></returns>
[WebMethod]
public string SearchMovince(string name,string time, int size, int index)
{
//1、定义存储过程命令
string sql = "up_SearchMovie";
/// 根据条件,使用存储过程分页查询电影
/// </summary>
/// <param name="name"></param>
/// <param name="time"></param>
/// <param name="size"></param>
/// <param name="index"></param>
/// <returns></returns>
[WebMethod]
public string SearchMovince(string name,string time, int size, int index)
{
//1、定义存储过程命令
string sql = "up_SearchMovie";
//2、定义sql参数对象
SqlParameter paraSize = new SqlParameter("@size", size);
SqlParameter paraIndex = new SqlParameter("@index", index);
SqlParameter paraName = new SqlParameter("@mName", name);
SqlParameter paraTime = new SqlParameter("@sTime", time);
SqlParameter paraSize = new SqlParameter("@size", size);
SqlParameter paraIndex = new SqlParameter("@index", index);
SqlParameter paraName = new SqlParameter("@mName", name);
SqlParameter paraTime = new SqlParameter("@sTime", time);
SqlParameter count = new SqlParameter("@totalCount", SqlDbType.Int);
count.Direction = ParameterDirection.Output;
count.Direction = ParameterDirection.Output;
SqlParameter page = new SqlParameter("@totalPage", SqlDbType.Int);
page.Direction = ParameterDirection.Output;
page.Direction = ParameterDirection.Output;
//3、定义数组,保存四个参数
SqlParameter[] paras = { paraSize, paraIndex, count, page, paraName, paraTime };
SqlParameter[] paras = { paraSize, paraIndex, count, page, paraName, paraTime };
//4、调用DBHelper,执行存储过程
DataTable dt = DBHelper.GetDataTable(sql, paras);
DataTable dt = DBHelper.GetDataTable(sql, paras);
//5、将返回的信息封装到PageList对象
PageList list = new PageList();
list.TotalCount = Convert.ToInt32(count.Value);
list.TotalPage = Convert.ToInt32(page.Value);
list.MovieList = JsonConvert.DeserializeObject<List<Movie>>(JsonConvert.SerializeObject(dt));
PageList list = new PageList();
list.TotalCount = Convert.ToInt32(count.Value);
list.TotalPage = Convert.ToInt32(page.Value);
list.MovieList = JsonConvert.DeserializeObject<List<Movie>>(JsonConvert.SerializeObject(dt));
return JsonConvert.SerializeObject(list);
}
}
//Mvc调用
public ActionResult Search(int id, string txtName, string txtTime)
{
/*点击上页或者下页,传递的是null*/
if (txtTime != null)
{
name = txtName;
time = txtTime;
}
{
/*点击上页或者下页,传递的是null*/
if (txtTime != null)
{
name = txtName;
time = txtTime;
}
string json = webService.SearchMovince(name, time, 10, id);
PageList pageList = JsonConvert.DeserializeObject<PageList>(json);
PageList pageList = JsonConvert.DeserializeObject<PageList>(json);
ViewBag.count = pageList.TotalCount;
ViewBag.page = pageList.TotalPage;
ViewBag.index = id;
ViewBag.page = pageList.TotalPage;
ViewBag.index = id;
List<Movie> list = pageList.MovieList.Where(s => (string.IsNullOrEmpty(txtName) ? true : s.MNane.Contains(txtName)) &&
(string.IsNullOrEmpty(txtTime) ? true : s.PlayTime == Convert.ToDateTime(txtTime))).ToList();
(string.IsNullOrEmpty(txtTime) ? true : s.PlayTime == Convert.ToDateTime(txtTime))).ToList();
return PartialView("_PartialMovie", list.ToList());
}
}
///html
共 @ViewBag.count 条记录,共 @ViewBag.page 页,当前显示第 @ViewBag.index 页
@Ajax.ActionLink("首页", "search", new { id = 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
@{
if (ViewBag.index == 1)
{
<span>上页</span>
}
else
{
@Ajax.ActionLink("上页", "search", new { id = ViewBag.index - 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
@Ajax.ActionLink("首页", "search", new { id = 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
@{
if (ViewBag.index == 1)
{
<span>上页</span>
}
else
{
@Ajax.ActionLink("上页", "search", new { id = ViewBag.index - 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
}
}
}
@{
if (ViewBag.index == ViewBag.page)
{
<span>下页</span>
}
else
{
@Ajax.ActionLink("下页", "search", new { id = ViewBag.index + 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
}
}
if (ViewBag.index == ViewBag.page)
{
<span>下页</span>
}
else
{
@Ajax.ActionLink("下页", "search", new { id = ViewBag.index + 1 }, new AjaxOptions { UpdateTargetId = "divMovie" })
}
}
@Ajax.ActionLink("尾页", "search", new { id = ViewBag.page }, new AjaxOptions { UpdateTargetId = "divMovie" })
</p>
</p>