“更新”面板中的链接按钮会导致页面刷新

本文关键字:按钮 刷新 更新 链接 | 更新日期: 2023-09-27 18:30:36

我正在开发网络应用程序。我想要中继器控件中的链接按钮。此转发器控件位于更新面板中。现在单击链接按钮会导致刷新。

我找到的解决方案是需要添加ClientIDMODE="AutoID".它工作正常。但是我的其他JavaScript停止工作。那么有没有其他选择,让两者都能正常工作呢?

由于ClientIDMODE="AutoID"而无法正常工作的jquery代码。

function setPage() {
            var page = document.location.pathname.match(/[^'/]+$/)[0];
            var pageName = page.split('.')[0];
            if (pageName != 'Default') {
                if ($('#' + pageName).hasClass('main')) {
                    $('#' + pageName).addClass('active');
                    var content = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('#' + pageName).children('ul').html();
                    $('#leftNavigation').append(content);
                    var currentActive = $('.nav ul li ul li.active');
                    if (currentActive != null) {
                        currentActive.removeClass('active');
                        currentActive.closest('ul').closest('li').removeClass('active');
                    }
                }
                else {
                    if ($('#' + pageName) != null) {
                        if ($('#' + pageName).closest('ul').html() != null) {
                            $('#' + pageName).closest('ul').closest('li').addClass('active');
                            $('#' + pageName).addClass('active');
                            var listItems = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('#' + pageName).closest('ul').html();
                            $('#leftNavigation').append(listItems);
                            var currentActive = $('.nav ul li ul li.active');
                            if (currentActive != null) {
                                currentActive.removeClass('active');
                                currentActive.closest('ul').closest('li').removeClass('active');
                            }
                        }
                        else {
                            var directory = document.location.pathname.substring(1, document.location.pathname.lastIndexOf('/'));
                            var dir_name = directory.toLowerCase() + '_main'
                            if (directory != null || '/') {
                                $('#' + dir_name).addClass('active');
                                var content = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('#' + dir_name).children('ul').html();
                                $('#leftNavigation').append(content);
                                var currentActive = $('.nav ul li ul li.active');
                                if (currentActive != null) {
                                    currentActive.removeClass('active');
                                    currentActive.closest('ul').closest('li').removeClass('active');
                                }
                            }
                        }
                    }
                }
            }
            else {
                var listItems = '<li><div class="sidebar-toggler hidden-phone"></div></li><li class="active"><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>';
                $('#leftNavigation').append(listItems);
            }
        }

“更新”面板中的链接按钮会导致页面刷新

每当引用需要的将 clientid 模式设置为自动的项时,都需要引用控件的 ClientID,而不是 ID。您可以像这样执行此操作:

$("#<%= mycontrol.ClientID %>").dosomething();

这将写出为任何带有 runat="server" 的控件的客户端脚本生成的唯一 id。

实际上,我尝试了不同的方案来解决此问题。我使用类名而不是 id 来标识元素。

因此,在 jquery 中使用 . 而不是 #,并在 html 代码中添加与 id 相同的类名。

所以现在Jquery代码是:

function setPage() {
            var page = document.location.pathname.match(/[^'/]+$/)[0];
            var pageName = page.split('.')[0];
            if (pageName != 'Default') {
                if ($("."+pageName).hasClass('main')) {
                    $('.' + pageName).addClass('active');
                    var content = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('.' + pageName).children('ul').html();
                    $('#leftNavigation').append(content);
                    var currentActive = $('.nav ul li ul li.active');
                    if (currentActive != null) {
                        currentActive.removeClass('active');
                        currentActive.closest('ul').closest('li').removeClass('active');
                    }
                }
                else {
                    if ($('.' + pageName) != null) {
                        if ($('.' + pageName).closest('ul').html() != null) {
                            $('.' + pageName).closest('ul').closest('li').addClass('active');
                            $('.' + pageName).addClass('active');
                            var listItems = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('.' + pageName).closest('ul').html();
                            $('#leftNavigation').append(listItems);
                            var currentActive = $('.nav ul li ul li.active');
                            if (currentActive != null) {
                                currentActive.removeClass('active');
                                currentActive.closest('ul').closest('li').removeClass('active');
                            }
                        }
                        else {
                            var directory = document.location.pathname.substring(1, document.location.pathname.lastIndexOf('/'));
                            var dir_name = directory.toLowerCase() + '_main'
                            if (directory != null || '/') {
                                $('.' + dir_name).addClass('active');
                                var content = '<li><div class="sidebar-toggler hidden-phone"></div></li><li><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>' + $('.' + dir_name).children('ul').html();
                                $('#leftNavigation').append(content);
                                var currentActive = $('.nav ul li ul li.active');
                                if (currentActive != null) {
                                    currentActive.removeClass('active');
                                    currentActive.closest('ul').closest('li').removeClass('active');
                                }
                            }
                        }
                    }
                }
            }
            else {
                var listItems = '<li><div class="sidebar-toggler hidden-phone"></div></li><li class="active"><a href="/Default.aspx">Dashboard<i class="icon-"></i></a></li>';
                $('#leftNavigation').append(listItems);
            }
        }