惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
D
Docker
有赞技术团队
有赞技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
H
Help Net Security
美团技术团队
MyScale Blog
MyScale Blog
B
Blog RSS Feed
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
G
Google Developers Blog
月光博客
月光博客
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs

博客园 - Longkin

ios9+xcode7 适配笔记 xsd、wsdl生成C#类的命令行工具使用方法 xcode更新,想想也是醉了 关于#define预处理指令的一个问题 UITextField实现左侧空出一定的边距 IOS判断app在appstore是否有可用的更新 IOS动态判断UITextField是否输入为手机号 我的第二个app上线:术购管家 百度地图 IOS版开发经验分享 最新app store 应用提交经验分享 用C#做的软件界面 由windows server2012 想起 关于团队合作的一点认识 由“美图秀秀”软件的网站,看网站的生存模式 下个月计划【2009-5】 对新网好失望,郁闷中 如何实现asp.net页面的美观性? 新手看SEO网站优化 转载---Web 2.0 新名词:Widget
关于UpdatePanel和页面刷新的问题
Longkin · 2009-03-12 · via 博客园 - Longkin

今天做了一个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来处理的,所以是无刷新的,但是“重试”以后,页面是怎样的一个状态我就搞不懂了。。。