“更新”面板中的链接按钮会导致页面刷新
本文关键字:按钮 刷新 更新 链接 | 更新日期: 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);
}
}