首页 新闻 会员 周边 捐助

数据库数据分页显示,只能显示首页,后面的点击没反应

0
悬赏园豆:20 [已解决问题] 解决于 2019-03-16 16:48

我怀疑是点击事件函数没写对,但我不知道怎么去修改

//分页数字显示:
<div id="pagebar">
    @for (var i = 0; i < ViewBag.PageCount; i++)
    {
        if (i == ViewBag.PageIndex)
        {
            <span class="currentpagenumber">@(i + 1)</span>
        }
        else
        {
            <a class="pagenumber" href="javascript:;">@(i + 1)</a>
        }
    }
</div>

//对应的点击事件:
@section scripts {
    <script>
        function submitForm(pagenumber) {
            pagenumber = parseInt(pagenumber, 10);
            $('#PageIndex').val(pagenumber - 1);
            $('#searchForm').submit();
        }

        $(function () {

            $('#searchButton').click(function () {
                submitForm($('#pagebar .currentpagenumber').text());
            });

            $('#pagebar .pagenumber').click(function () {
                submitForm($(this).text());
            });

        });
    </script>
}
//控制器中获取页面总数和分页查询方法:
private static readonly int PAGE_SIZE = 3;

        private int GetPageCount(int recordCount)//获取总页数
        {
            int pageCount = recordCount / PAGE_SIZE;
            if (recordCount % PAGE_SIZE != 0)
            {
                pageCount += 1;
            }
            return pageCount;
        }

        private List<Manto> GetPagedDataSource(IQueryable<Manto> students,
        int pageIndex, int recordCount)//分页查询获取数据库数据信息
        {
            var pageCount = GetPageCount(recordCount);
            if (pageIndex >= pageCount && pageCount >= 1)
            {
                pageIndex = pageCount - 1;
            }

            return students.OrderBy(m => m.Name)
                           .Skip(pageIndex * PAGE_SIZE)
                           .Take(PAGE_SIZE)
                           .ToList();
        }

//控制器中的Index方法:
        // GET: Mantoes
        public ActionResult Index()
        {
            var mantoes = db.Mantoes as IQueryable<Manto>;
            var recordCount = mantoes.Count();
            var pageCount = GetPageCount(recordCount);

            ViewBag.PageIndex = 0;
            ViewBag.PageCount = pageCount;


            ViewBag.BrandList = GetBrandList();
            return View(GetPagedDataSource(mantoes, 0, recordCount));
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Index(string Name,string Brand,int PageIndex)
        {

            var mantoes = db.Mantoes as IQueryable<Manto>;

            if (!string.IsNullOrEmpty(Name))
            {
                mantoes = mantoes.Where(m => m.Name.Contains(Name));
            }
            if (!string.IsNullOrEmpty(Brand.ToString()))
            {
                mantoes = mantoes.Where(m => m.Brand.ToString() == Brand);
            }


            var recordCount = mantoes.Count();
            var pageCount = GetPageCount(recordCount);
            if (PageIndex >= pageCount && pageCount >= 1)
            {
                PageIndex = pageCount - 1;
            }

            mantoes = mantoes.OrderBy(m => m.Name)
                 .Skip(PageIndex * PAGE_SIZE).Take(PAGE_SIZE);

            ViewBag.PageIndex = PageIndex;
            ViewBag.PageCount = pageCount;


            ViewBag.BrandList = GetBrandList();

            return View(mantoes.ToList());
        }

其他都正常就是点击分页数字时候没任何反应,也没有任何错误

刘下来的主页 刘下来 | 小虾三级 | 园豆:919
提问于:2019-03-16 10:02
< >
分享
最佳答案
1

那还不就是点击按钮事件没触发啦

收获园豆:20
Jeffcky | 老鸟四级 |园豆:2789 | 2019-03-16 10:39

那帮我看看哪里出了问题吗,我一点头绪都没有

刘下来 | 园豆:919 (小虾三级) | 2019-03-16 10:44

@iiiiiim: 你可以调试脚本啊,自己得学会如何解决问题,答题者只给解决方案和思路

Jeffcky | 园豆:2789 (老鸟四级) | 2019-03-16 10:46

@Jeffcky: 老哥,再问你一个问题,就是我_layout页面中使用jQuery的js代码直接写在script标签中就可以了,而其他cshtml页面要写到@section scripts{}中才可以,不然说我没有引用jQuery,这是为何,所有引用不都在布局页都写了吗?

刘下来 | 园豆:919 (小虾三级) | 2019-03-16 11:18

@iiiiiim: @section scripts{}引用布局页的啦,布局页引用了JQuery当然好使,要不然当然不好使诺

Jeffcky | 园豆:2789 (老鸟四级) | 2019-03-16 11:20

@Jeffcky: 那为何layout页面就不用这个。。。。

刘下来 | 园豆:919 (小虾三级) | 2019-03-16 11:31

@iiiiiim: layout是布局页啊,布局页写了一个脚本的坑,然后在其他视图页面你用@section scripts{}就是填充这个坑,知道了不,好好看看MVC基础

Jeffcky | 园豆:2789 (老鸟四级) | 2019-03-16 11:33

@Jeffcky: 老哥,用mvc写一个有三方人员登录的系统,并且有不同的权限,你能不能做?可以的话,能带带我不,有偿,交个朋友,以后可以帮你做些小项目之类的,我自学大半年了,没人带,很多问题解决不了,唉,时间我都可以的,我也比较勤奋了,就是有点笨啊

刘下来 | 园豆:919 (小虾三级) | 2019-03-16 13:18

@iiiiiim: 这个只能你自己来了,你可以加我QQ:2752154844,有什么问题可以问我,我也是自学过来的。

Jeffcky | 园豆:2789 (老鸟四级) | 2019-03-16 13:30

@Jeffcky: 好的,大佬愿意帮我就非常感谢了!!!

刘下来 | 园豆:919 (小虾三级) | 2019-03-16 13:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册