/// <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";
            //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 count = new SqlParameter("@totalCount", SqlDbType.Int);
            count.Direction = ParameterDirection.Output;
            SqlParameter page = new SqlParameter("@totalPage", SqlDbType.Int);
            page.Direction = ParameterDirection.Output;
            //3、定义数组,保存四个参数
            SqlParameter[] paras = { paraSize, paraIndex, count, page, paraName, paraTime };
            //4、调用DBHelper,执行存储过程
            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));
            return JsonConvert.SerializeObject(list);
        }
 
 
//Mvc调用

 public ActionResult Search(int id, string txtName, string txtTime)
        {
            /*点击上页或者下页,传递的是null*/
            if (txtTime != null)
            {
                name = txtName;
                time = txtTime;
            }
            string json = webService.SearchMovince(name, time, 10, id);
            PageList pageList = JsonConvert.DeserializeObject<PageList>(json);
            ViewBag.count = pageList.TotalCount;
            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();
            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" })
        }
    }
    @{
        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>

存储过程 Mvc 的调用的更多相关文章

  1. MVC 5 调用存储过程参数配置方法-Procedure or function 'UP_***' expects parameter '@****', which was not supplied.

    MVC 5 调用存储过程参数配置方法-Procedure or function 'UP_***' expects parameter '@****', which was not supplied. ...

  2. Oracle存储过程中异步调用的实际操作步骤

    本文标签:Oracle存储过程 我们都知道在Oracle数据库的实际应用的过程中,我们经常把相关的业务处理逻辑,放在Oracle存储过程中,客户端以通过ADO来进行相关的调用  .而有些相关的业务逻辑 ...

  3. Oracle存储过程创建及调用(转)

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  4. Aspnet MVC 异步调用

    一个简图来描述下Aspnet MVC下的异步调用 { request } / \/ -------ISS------- > work thread | \ | \ route - aysn co ...

  5. MySQL存储过程_创建-调用

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的"脚本" 创建存储过程 调用存储过程 存储过程体 语句块标签 存储过程的参数 in:向过程里传参 out:过程向 ...

  6. Oracle存储过程创建及调用

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  7. MySQL数据库实验六:存储过程建立与调用

    实验六  存储过程建立与调用 一.实验目的 理解存储过程的概念.建立和调用方法. 二.实验环境 三.实验示例 1.定义一个函数,按性别计算所有学生的平均年龄. CREATE FUNCTION aver ...

  8. .NET MVC+ EF+调用存储过程 多表联查以及VIEW列表显示

    直接上干活,至于网上的一大堆处理方式不予评论,做好自己的就是最好的,供大家不走弯路 1.view页面 <link href="~/Content/bootstrap.css" ...

  9. MVC c# 调用sql的存储过程

    var hid = new SqlParameter { ParameterName = "HistoryId", Value = history.Id, Direction = ...

随机推荐

  1. DataTable表连接

    public static System.Data.DataTable TableJoin(System.Data.DataTable dt, System.Data.DataTable dtDeta ...

  2. oracle 分组中排序(rank函数)

    需求: 查询每个供应商在每个类型产品销售的top50中有多少 分析: 1.查询,以指定字段(供应商.产品类型)分组,取每个分组的前50行,查看每个供应商的数量 2.使用rank函数给每个供应商.每个类 ...

  3. 2018.12.08 codeforces 946D. Timetable(背包)

    传送门 题意简述:有一个人上n天课,每天有m个小时的时间安排表(一个01串),为1表示要上课,否则不上课,求出如果可以最多翘kkk节课这nnn天在校待的总时间的最小值(一天必须在所有课上完后才能离开) ...

  4. 2018.11.01 NOIP训练 图论(线段树+倍增+dfs序)

    传送门 一道挺妙的题. 对于询问点(u,v),如右图所示,我们可以发现存在一个点m在u->v的路径中,m子树的点到u是最近的,m子树外到v是最近的.其中dis(u,m)=(dis(u,v)-1) ...

  5. 菜品识别 SDK调用

    from aip import AipImageClassify import os """ 填入参数 """ APP_ID = 'your ...

  6. boost--signal

    1.signals2库 signals2库实现了线程安全的观察者模式,在signals2中观察者模式被称为信号/插槽(signals/slots),它是一种函数回调机制.一个信号可以关联一个或多个插槽 ...

  7. GAME PROGRAMM

    SetConsoleTextAttribute consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE); GetStdHandle(nStdHandle)//是返回 ...

  8. Everything的简单使用

    1.Everythings下载地址: http://www.voidtools.com/ 下载完后直接解压,运行everything.exe即可打开使用: 2.基本设置 (1)去除不需要搜索的文件夹: ...

  9. shell 脚本学习之read

    Read的一些选项 Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项. -a :将内容读入到数值中 echo -n 'please enter:'read -a ...

  10. 微信小程序之跨界面传参

    微信小程序在两个之间传参类似js传递url拼接参数,举个例子来说吧 input自己设置参数 //index.wxml <form bindsubmit="formSubmit" ...