/// <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. Maximum Average Subarray I LT643

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...

  2. 学习selenium的过程

  3. ros主从关系

    主机: 在~/.bashrc里面输入 export ROS_MASTER_URI=http://localhost:11311export ROS_HOSTNAME=192.168.4.1 其ip地址 ...

  4. Redis学习笔记:windows上redis的安装运行

    Redis的windows版本地址https://github.com/MicrosoftArchive/redis 下载之后解压之 在当前解压目录下可以看到如下文件 在当前目录下打开命令行窗口,输入 ...

  5. centos7 sqoop 1 搭建笔记

    1.require : java环境,hadoop,hive ,mysql2.下载解压sqoop13.设置环境变量 export SQOOP_HOME=/data/spark/bin/sqoop ex ...

  6. 机器学习笔试--LeetCode

    #########简单######### 共25道: 1. 两数之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例 ...

  7. 2019.01.13 bzoj4538: [Hnoi2016]网络(树链剖分)

    传送门 树链剖分一眼题. 题意简述: 给定一棵树,有三种操作: 加入一条路径 删除一条已加入的路径 询问不过一个点x的路径的最大值. 思路: 直接树链剖分维护答案. 因为询问的事不过点xxx的最大值, ...

  8. Java 208 道面试题:Java 基础模块答案

    目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态:第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多 ...

  9. (10)The secret to great opportunities? The person you haven't met yet

    https://www.ted.com/talks/tanya_menon_the_secret_to_great_opportunities_the_person_you_haven_t_met_y ...

  10. oracle在exp导出时报错PLS-00201: identifier 'EXFSYS.DBMS_EXPFIL_DEPASEXP' must be declared

    报错如下信息: EXP-00008: ORACLE error 6550 encounteredORA-06550: line 1, column 14:PLS-00201: identifier ' ...