在网页中,有一个按钮来控制弹出层的显示,点这个按钮便弹出DIV层,层里有Textbox,dropdownlist和一个Button控件来添加员工信息,当点Button时,数据在传入数据库的同时,主页面刷新,刚传入数据库的信息也在主页面的Gridview控件中显示,好像我要的效果达到了.但问题是我的弹出层也随着主页面的刷新而隐藏起来了.有什么办法即可以刷新主页面,又不让弹出层隐藏起来呢?
这是在CSDN上面搜索到的有关答案:
1、给这个DIV一个唯一的ID,比如layer_01
2、在ASPX页面中声明一个形式如function setLayerState(stateString)的java script函数,当其中包含"layer_01_visible=true"的值的时候,设置layer_01可见。具体写法我不提示了。
3、在ASPX页面中声明一个hidden field,假设叫做layerState,其value初始为空
4、当layer_01可见性发生改变的时候,用java script函数设定layerState的值为"layer_01_visible=true"。如果有多个层需要管理,你可以自己决定怎么存储,比方说增加"layer_01_visible=true;layer_02_visible=false;layer_01_height=100px"等等
5、在ASPX页面的Page_Load代码中,如果IsPostBack为真,则获取layerState这个隐藏字段的值,使用Page.RegisterStartupScript()功能调用setLayerState,参数就是layerState的值这5个步骤,我真的不会弄,麻烦,哪位知道的朋友,帮我这个新手一把,真的很急,在这个问题上我已经纠结很久了,得不到解决,看到这5步骤感觉能解决我的问题,但自己就是不会写代码.

解决方案 »

  1.   

    ajax  
    不用刷新页面
      

  2.   

    回1楼,感觉你的热心.我正在修改net_lover 为我写的代码,以达到自己想要的效果.回2楼,如果弹出层里面有上传图片预览功能,然后把图片以二进制的方式一起传入数据库,用AJAX可行吗?
      

  3.   


    上传图片可以用 iframe. 
    iframe 内就一个 <input type=file> 一个上传按钮。上传图片,刷新的是这个iframe。整个页面不会刷新。
      

  4.   

    回4楼,谢谢你,结过贴了的问题,你还这么热心,用IFRAME,是不是把IFRAME放在弹出的层中,如果是,那么刷新整个页面,IFRAME也会随着弹出层的隐藏而隐藏起来,我要的效果是,弹出层不会因为刷新整个主页面而被隐藏起来,我记得我用过这个方法,难道是那里没做好?