• 关于UpdatePanel和页面刷新的问题


    今天做了一个ajax.net的东西,虽然实现了功能,但是无意间发现了一个小问题,原本以为做有什么问题了,后来发现这个问题很有意思,放出来看看!

    这是个两级下来框的例子:

    Code
    asp:UpdatePanel ID="UpdatePanel1" runat="server">
            
    <ContentTemplate>
            
    <asp:DropDownList ID="dpdCateslst" runat="server" AutoPostBack=true 
                onselectedindexchanged
    ="dpdCateslst_SelectedIndexChanged"></asp:DropDownList>     
            
    <asp:DropDownList ID="dpdchilds" runat="server"></asp:DropDownList>
            
    </ContentTemplate>
            
    <Triggers>
            
    <asp:AsyncPostBackTrigger ControlID="dpdCateslst" />
            
    </Triggers>        
            
    </asp:UpdatePanel>

    以上是页面的代码,后台的代码我想 不写也知道了。

    现在我的问题出现了:

    当我第一次加载页面的时候,可以像我认为的那样来实现无刷新的效果,这个很好。
    但是问题是,当我选择了一级下拉框的时候,选择一次,然后我点击页面右键:刷新,然后我再来选择一次一级框,最后再点击一次右键刷新,问题出来了,我发现又出现了“重试”的按钮,试验了n次后,还是找不到问题的原因所在,后来我在发现第二次选择下拉框的时候叶面积的确是刷新了一次,那么“重试”的按钮是必然会出现的。

    原先觉得是页面加载的问题,在无刷新的状态下,点击刷新页面,会造成页面重新加载。但是后来一想ms的控件都是基于viewstate的,那么说明UpdatePanel的信息也写在viewstate中,只是由ScriptManager来处理这些页面信息,然后读出来,整个过程是js来处理的,所以是无刷新的,但是“重试”以后,页面是怎样的一个状态我就搞不懂了。。。

  • 相关阅读:
    UI Automator Viewer工具的使用
    SQL数据库面试50题(转载)
    Python +selenium+pycharm(Windows)
    python安装及环境变量配置(Windows)
    JDK的安装与环境变量配置
    shell参数
    文件添加行号
    CentOS 7修改UTC为CST
    shell控制超时
    fio笔记
  • 原文地址:https://www.cnblogs.com/Longkin/p/1409864.html
Copyright © 2020-2023  润新知