ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#分页

2021-07-02 15:34:20  阅读:186  来源: 互联网

标签:pageindex 分页 pagesize RowCount C# item int new


存储过程:
create Proc PRoleInfo
@PageIndex int,
@PageSize int,
@Count int out,

@Name varchar(22)
as
select top(@pageSize) * from 表名 where 字段IDnot in
(
    select top(@pageSize*(@pageIndex-1)) 字段ID
    from 表名
    order by Fid
)
order by 字段ID
select @count=COUNT(1) from 表名

 

后台方法:

 public static DataTable GetTablePro(string PRoleInfo, int pageindex, int pagesize, out int RowCount, string name)
        {
            using (SqlConnection conn = new SqlConnection(ConnString))
            {
                conn.Open();

                SqlCommand comm = new SqlCommand(PRoleInfo, conn);

                comm.CommandType = CommandType.StoredProcedure;

                SqlParameter[] para =
                {
                    new SqlParameter("@pageindex",DbType.Int32),
                    new SqlParameter("@pagesize",DbType.Int32),
                    new SqlParameter("@name",DbType.String),
                    new SqlParameter("@RowCount",DbType.Int32)
                };

                para[0].Value = pageindex;
                para[1].Value = pagesize;
                para[2].Value = name;
                para[3].Direction = ParameterDirection.Output;

                comm.Parameters.AddRange(para);

                SqlDataAdapter adapter = new SqlDataAdapter(comm);

                DataTable dt = new DataTable();

                adapter.Fill(dt);

                RowCount = Convert.ToInt32(para[3].Value);

                return dt;
            }
        }

控制器:

 public ActionResult Shows(int pageindex=1,string name="")
        {
            int pagesize = 5;
            int RowCount = 0;
            if (pageindex < 1)
            {
                pageindex = 1;
            }
            if (Session["Total"] != null && pageindex > Convert.ToInt32(Session["Total"]))
            {
                pageindex = Convert.ToInt32( Session["Total"]);
            }      
            var list = show.Workshopshow(pageindex, pagesize, out RowCount, name).ToList();
            int Total = RowCount % pagesize == 0 ? RowCount / pagesize : (RowCount / pagesize) + 1;
            //pageindex = (RowCount + RowCount - 1) / RowCount;
            Session["Total"] = Total;
            //Session["Total"] = pageindex;
            Session["name"] = name;
            ViewBag.result = pageindex;
            return View(list);
        }

页面:


@{
    ViewBag.Title = "Shows";
}


@using (Html.BeginForm())
{
    <table class="table table-striped"><tr><th>车间名称: <input type="text" name="name" /> <input type="submit" value="搜索" /></th></tr></table>
}

<table class="table table-striped" border="1">
    <tr>
        <td>工厂编号</td>
        <td>车间编号</td>
        <td>车间中文名称</td>
        <td>车间英文名称</td>
        <td>信息来源</td>
        <td>登录人编号</td>
        <td>登录日期</td>
        <td>最后修改人编号</td>
        <td>最后修改人日期</td>
        <td>状态</td>
        <td>删除</td>
    </tr>
    @{

        foreach (var item in Model)
        {
            <tr>
                <td>@item.FactoryCode</td>
                <td>@item.WorkshopCode</td>
                <td>@item.WorkshopName</td>
                <td>@item.WorkshopName_EN</td>
                <td>@item.Source</td>
                <td>@item.CreaterNo</td>
                <td>@item.CreatedDate</td>
                <td>@item.ModifierNo</td>
                <td>@item.ModifiedDate</td>
                <td>@item.Status</td>
                <td><a href="#">删除</a></td>
            </tr>
        }
    }
</table>
<table style=" margin:0 auto">
    <tr>
        <td>
            <ul class="pagination pagination-lg">
                <li>
                <li><a href="/Texts/Shows?name=@Session["name"]&pageindex=1">首页</a></li>
                <li>
                    <a href="/Texts/Shows?name=@Session["name"]&pageindex=@(ViewBag.result-1)">&laquo;</a>
                </li>
                @{

                    for (int i = 0; i < Convert.ToInt32(Session["Total"]); i++)
                    {
                        if ((i + 1) == ViewBag.result)
                        {
                            <li>
                                <a href="/Texts/Shows?pageindex=@Session["name"]@(i+1)" style="font-size:25px;color:red">@(i + 1)</a>
                            </li>
                        }
                        else
                        {
                            <li>
                                <a href="/Texts/Shows?pageindex=@Session["name"]@(i+1)">@(i + 1)</a>
                            </li>
                        }
                    }
                }
                <li><a href="/Texts/Shows?name=@Session["name"]& pageindex=@(ViewBag.result+1)">&raquo;</a></li>
                <li><a href="/Texts/Shows?name=@Session["name"]& pageindex=@Session["Total"]">尾页</a></li>
            </ul>
        </td>
    </tr>
</table>

 

标签:pageindex,分页,pagesize,RowCount,C#,item,int,new
来源: https://www.cnblogs.com/Love20181128/p/14963473.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有