在gridview页面更改后Jquery colorbox不起作用

Posted

技术标签:

【中文标题】在gridview页面更改后Jquery colorbox不起作用【英文标题】:Jquery colorbox not working after gridview page change 【发布时间】:2016-06-11 23:39:51 【问题描述】:

我在使用带有 gridview 分页的 Jquery colorbox 时遇到问题。 当第一次加载页面时,colorbox 工作正常,但是当我通过分页更改 gridview 页面时,它不起作用。

这是我的 javascript 代码

<script type="text/javascript">
        $(document).ready(function () 


            $(".example6").colorbox(
                iframe: true, innerWidth: 425, innerHeight: 173, onClosed: function () 

                    ($get('<%= btnInsertData_dummy.ClientID %>')).click();
                
            );

            var prm = Sys.WebForms.PageRequestManager.getInstance();
            prm.add_endRequest(EndRequestHandler);


        );

        function EndRequestHandler(sender, args) 

            $(".example6").colorbox(
                iframe: true, innerWidth: 425, innerHeight: 173, onClosed: function () 

                    var path = sender._postBackSettings.sourceElement.pathname;
                    var myArray = new Array();
                    myArray = path.split('/');
                    if (myArray[1].toString() != "Default.aspx") 
                        ($get('<%= btnInsertData_dummy.ClientID %>')).click();
                    

                
            );
        
    </script>

在 gridview 中,我在 Rowdatabound 上绑定超链接

if (e.RowType != GridViewRowType.Data) return;

var securrityKey = e.GetValue("str_securitykey");
System.Web.UI.WebControls.HyperLink grdHyper =
grid.FindRowCellTemplateControl(e.VisibleIndex, null, "grdhyper")
as System.Web.UI.WebControls.HyperLink;
if (securrityKey.ToString() != "")

    grdHyper.Visible = false;

else

    var number = e.GetValue("lng_rndnum");
    var lngId = e.GetValue("lng_id");
    grdHyper.CssClass = "example6 cboxElement";
    grdHyper.NavigateUrl = "GenerateSecurityKey.aspx?number=" + number.ToString() + "&id=" + lngId.ToString();

点击分页后不工作

【问题讨论】:

【参考方案1】:

在您的 jquery 代码中将您的代码从 add_endRequest 更改为 add_pageLoaded。并删除您的(document).ready(function() jquery 代码并将您的颜色框方法代码放在add_pageLoaded 方法中。希望这可以解决您的问题。

【讨论】:

以上是关于在gridview页面更改后Jquery colorbox不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Gridview中的JQuery如何在文本框在同一行更改时检查复选框

JQuery 更改 ASP:GridView 行的背景颜色

使用 JQuery Sortable 重新排序后如何将 .NET Gridview 行顺序保存到数据库

在 Yii2 GridView 页面更改时维护 Bootstrap 选项卡

如何使用 Jquery 重新排序 Gridview 行?

html使用frameset连接页面jquery报错