【问题标题】:simple script to apply bootstrap pagination style in asp.net gridview在 asp.net gridview 中应用引导分页样式的简单脚本
【发布时间】:2014-04-20 15:57:58
【问题描述】:

是否有任何简单的 jquery 脚本/插件可以在 asp.net gridview 中应用引导分页样式?我找到了一些关于如何做到这一点的好技巧,比如这些链接:herehere。 这些技巧/解决方案的唯一问题是我们需要进行大量更改才能获得结果,当您有大型应用程序并且想要将其转换为引导样式时,这不是可取的。我们需要另一个解决方案。就像一个简单的 jquery 脚本,可以在不对当前代码进行大量更改的情况下完成这项工作。

【问题讨论】:

    标签: asp.net twitter-bootstrap pagination


    【解决方案1】:

    我已经制作了简单的 jquery 脚本来在 asp.net gridview 中应用引导分页,我认为在 stackoverflow 中分享它会很有用。 此脚本的源代码托管在 github here

    用法很简单:

    -在你的asp.net页面文件中包含插件js文件:

    <script type="text/javascript" src="js/bs.pagination.js"></script>
    

    -设置gridview属性:

    PagerStyle-CssClass="bs-pagination"
    

    这就是在 asp.net gridview 中应用引导分页样式所需的全部内容。

    查看我的blog 了解更多信息。

    编辑:

    关于在UpdatePanel中使用gridview时的问题,这个问题的原因是因为“UpdatePanel在一次更新时完全替换了更新面板的内容。这意味着我们订阅的那些事件不再被订阅,因为更新面板中有新元素。”

    解决这个问题的方法不止一种:

    解决方案 1:

    使用 pageLoad() 代替 $(document).ready。修改代码如下:

    function pageLoad() {
                $('.bs-pagination td table').each(function (index, obj) {
                    convertToPagination(obj)
                });
            }
    

    解决方案 2:

    每次更新后重新更改样式。我们可以通过将这些行添加到 bs.pagination.js 文件中来做到这一点:

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    
    prm.add_endRequest(function () {
        $('.bs-pagination td table').each(function (index, obj) {
            convertToPagination(obj)
        });
    });
    

    【讨论】:

    • 感谢 Issam Ali,我发现的唯一问题是回发后分页样式丢失,即使我在每个页面加载时更改 GridView 的属性 CssClass ..我错过了什么?
    • 是的,这是正确的,Gridview 在更新面板中。在我最初的评论中,我的意思是说,当我确实更改到另一个页面时,就是样式丢失了..
    • @CesarDuran 我已经为这个问题添加了两个解决方案,请重新检查我的答案。
    • 我已将此解决方案添加到我的博客中,以供其他人使用。感谢插件@Issam
    • 这仅适用于 Bootstrap 3.x。对于 Bootstrap 4.x,您需要添加更多类并以不同的方式构造它(请参阅getbootstrap.com/docs/4.5/components/pagination)。你会如何修改你的 bs.pagination.js 来做到这一点?
    猜你喜欢
    • 2013-08-30
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2011-04-11
    • 2020-04-08
    相关资源
    最近更新 更多