今天下午tuff遇到了这个问题。他的页面左边是一个很长的treeview,右边一个小操作栏,通过CSS position: fixed做的悬浮跟随效果,左边treeview也通过 MaintainScrollPositionOnPostback=”true”做出了产生回发后依然能记忆当前位置的效果,但美中不足的是,左边选中一个treeview节点后,并在操作栏进行删除操作操作完成后,页面会弹出一个js提示“删除成功”,就在这个删除成功后,右边的操作栏的浮动效果就没有了。

      其实就是这段css没有被解析出来,原因是,这段js是通过Response.Write(“<script>alert(‘删除成功!’);</script>”);写入的,这样写入的是在document type文档类型声明之上的,这样就会影响解析。造成那段css不能被正常解析出来。解决方法是使用ClientScript.RegisterClientScriptBlock方法写入js脚本,这种方式添加的就不会产生上面的问题了。

弹出提示框方法:

public void MessageBox(string strKey, string strInfo)
    {
        if (!ClientScript.IsClientScriptBlockRegistered(strKey))
        {
            string strjs = "alert('" + strInfo + "');";
            ClientScript.RegisterClientScriptBlock(this.GetType(), strKey, strjs, true);
        }
    }

在需要弹出的地方使用该方法就可以啦。(不知道什么情况代码高亮插件不支持C#了,用C的了,大家理解下)

cafe.wh 9,26 2009