日期:2014-05-18  浏览次数:20882 次

关于弹出DIV层的问题?
DIV弹出层里面有服务端按钮控件,当点击服务端按钮传值时,只要主页面刷新,弹出的DIV层又隐藏了起来。
我曾试用过AJAX只刷新弹出层里面的控件,但是我弹出层里面有上传图片的控件fileupload,用了AJAX总是会出错,图片我是用二进制保存的,而且我需要主页面刷新以获得刚传入到数据库的值,用GRIDVIEW控件显示。
我想要的效果是:弹出层,可移动,层里面是服务端控件,点击控件回传,刷新页面弹出的DIV层仍然存在,求解决办法,。
如果有朋友提供代码万分感谢,我主要是学习之用,我是新手,网上找了很久没弄明白。上次在CSDN问了一次,但自己没搞定。

------解决方案--------------------
刷新页面的话,当前页面弹出的DIV肯定重新加载的。因为这个DIV也是当前页面代码的一部分。
你可以尝试不使用弹出DIV,而弹出一个新页面。
------解决方案--------------------
刷新再写一段javascript,让弹出对话框页面再次弹出。
------解决方案--------------------
现成的可拖拽控件很多啊,比如 jQuery EasyUI
------解决方案--------------------
上次回过楼主的帖了
前台页面
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function fnShow(){
    document.getElementById('pnl_test').style.display = 'block';
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="javascript:void 0" onclick="fnShow()">显示隐藏层</a>
<asp:Panel ID="pnl_test" runat="server" style="width:400px;height:300px;border:1px solid #000;">
<asp:Button ID="btn_post" runat="server" Text=" 回传 " />
</asp:Panel>
</div>
</form>
</body>
</html>

------解决方案--------------------
步骤是 Session 中一个特定的key 

eg: Session["State"]=null;

这个时候就是未显示的 ,当显示的时候 修改 Session["State"]="Show";

每次页面加载的时候都判断 Session["State"] ,来决定 div 是否显示

关闭的时候 在设置 Session["State"]=null;