首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net mvc3分页有关问题,求解答

2013-09-07 
asp.net mvc3分页问题,求解答最终要实现的分页是这样的这是我的分页帮助类/// summary/// 分页帮助类///

asp.net mvc3分页问题,求解答
最终要实现的分页是这样的asp.net mvc3分页有关问题,求解答
这是我的分页帮助类

/// <summary>
    /// 分页帮助类
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class PagingHelper<T>
    {
        //分页数据源
        public IEnumerable<T> DataSource { get; private set; }
        //每页显示记录的数量
        public int PageSize { get; private set; }
        //当前页数
        public int PageIndex { get; set; }
        //分页总页数
        public int PageCount { get; private set; }

        //是否有前一页
        public bool HasPrev { get { return PageIndex > 1; } }
        //是否有下一页
        public bool HasNext { get { return PageIndex < PageCount; } }
        //构造函数
        public PagingHelper(int pageSize, IEnumerable<T> dataSource)
        {
            this.PageSize = pageSize > 1 ? pageSize : 1;
            this.DataSource = dataSource;
            PageCount = (int)Math.Ceiling(dataSource.Count() / (double)pageSize);
        }
        //获取当前页数据
        public IEnumerable<T> GetPagingData()
        {
            return DataSource.Skip((PageIndex - 1) * PageSize).Take(PageSize);
        }
    }

这是我的控制器方法
/// <summary>
        /// 选择游戏区服


        /// </summary>
        /// <returns></returns>  
        public ActionResult SelectGameArea(int pageIndex=1)
        {
            IndexProvider areaProvider = new IndexSqlProvider();
            DataTable dt = areaProvider.GameInfo_SelectGame();
            List<GameInfoModels> areaList = new List<GameInfoModels>();
            ViewBag.pageCount = dt.Rows.Count%6;
            foreach (DataRow dr in dt.Rows)
            {
                GameInfoModels gameArea = new GameInfoModels();
                gameArea.GameAreaName = dr["GameAreaName"].ToString();
                areaList.Add(gameArea);
            }
            PagingHelper<GameInfoModels> AreaPaging = new PagingHelper<GameInfoModels>(6, areaList);
            AreaPaging.PageIndex = pageIndex; //指定当前页
            return View(AreaPaging); //返回分页数据到视图
        }


这个是页面部分
@model _5_Ars.SywMobile.Common.PagingHelper<_1_Ars.SywMobile.Entity.Index.GameInfoModels>     
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>选择区服</title>
    <link href="@Url.Content("~/Content/themes/common.css")" type="text/css" rel="stylesheet"  />
    <link href="@Url.Content("~/Content/themes/gemearea.css")" rel="stylesheet" type="text/css">
</head>
<body>
    <div id="header">
        <span class="header_l"><a href="#">返回</a></span> <span class="header_r"><a href="#">


        </a></span>
    </div>
    <div id="content">
        <div class="gameArea">
            <div class="header">
                <span>选择区服</span>
            </div>
            <div class="gameArea_content">
                <ul>
                    @foreach (var item in Model.GetPagingData())
                    { 
                        <li><a href="">@item.GameAreaName</a></li>
                    }
                </ul>
            </div>
        </div>
        <!--选择区服-->
        <form class="pageForm">
        <div class="pageBtn">
            <div class="pageBtn_left">                
                @if (Model.HasPrev)
                {
                    <a href="@Url.Action("SelectGameArea", "IBuy", new { pageIndex = Model.PageIndex - 1 })">上一页</a>
                }
                else
                {


                    <em style="color: Gray">上一页</em>
                }
            </div>
            <div class="pageBtn_middle">
                <select>                             
                   <option value="1">第一页</option>                   
                    <option value="2">第二页</option>
                    <option value="3">第三页</option>
                    <option value="4">第四页</option>
                    <option value="5">第五页</option>
                    <option value="6">第六页</option>
                    <option value="7">第七页</option>
                    <option value="8">第八页</option>
                </select>
            </div>
            <div class="pageBtn_right">                
                @if (Model.HasNext)
                {
                    <input type="button" />


                    <a href="@Url.Action("SelectGameArea", "IBuy", new { pageIndex = Model.PageIndex + 1 })">下一页</a>                    
                }
                else
                {
                    <em style="color: Gray">下一页</em>
                }
            </div>
        </div>
        </form>
    </div>



目前上一页和下一页都实现了,就是中间的下拉列表没有实现,下拉列表中是“第一页,第二页,第三页...”
求解答,怎么实现???急需要。。。
分页 asp.net mvc 数据
[解决办法]
引用:
<script type="text/javascript">
                $(function () {
                    $("#selectPage").Change(function () {                    
                   var selectedvalue=document.getElementById("#selectPage").value
                    window.location.href="IBuy/SelectGameArea?pageIndex="+selectedvalue; 
//http://localhost:31211/IBuy/SelectGameArea?pageIndex=1  


                    }
                  }  
            </script>

            <div alt="asp.net mvc3分页有关问题,求解答" />



因为你不会javascript

热点排行