我正在使用 asp.net 和 ajax 进行开发。
我对 jQuery 和滚动有疑问。
从 c# 使用以下代码在回发后显示一个 jQuery 对话框
script += "$(document).ready(function () {";
script += "$('#dialog').dialog({";
script +=" autoOpen: true,";
script += " show: {effect: 'fade', duration: 2000},";
script +=" hide: {effect: 'fade', duration: 500},";
script +=" modal: true,";
script +=" resizable: false,";
script +=" open: function(event, ui) {";
script +=" setTimeout(function(){";
script +=" $('#dialog').dialog('close'); ";
script +=" }, 8000);";
script +=" }";
script +=" }); ";
script += "setTimeout(function() {window.location.href = \"http://localhost:7713/xxxx/xxxx.aspx\";}, 9000);";
script += "});";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "showMessage", script, true);
如果我有 MaintainScrollPositionOnPostback = "false" 代码执行良好。但是如果我有 MaintainScrollPositionOnPostback = "true" 显示 jquery Dialog FIRST 然后设置滚动,使对话框位于页面顶部。
有什么解决办法吗?
谢谢!
编辑:
我在以下代码中找到了解决方案:
. ui-dialog {margin: 0 auto; position: fixed;}
另一种替代解决方案是:http ://www.cleancode.co.nz/blog/240/jquery-dialog-position-problem-web-form-postback
这是 ASP.NET 中非常常见的问题
谢谢你们!