急,updatepanel的一个问题???

williamreln 2012-08-11 02:21:08
有一个updatepanel,外部用一个button控件触发updatepanel的局部刷新,页面显示也正常了,但是,当用浏览器的查看源文件时,页面还是没改变。

代码如下:

<form runat="server">
<asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<%=DateTime.Now %>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="aaa" />
</Triggers>
</asp:UpdatePanel>
<%=DateTime.Now %>
<asp:Button ID="aaa" runat="server" Text="刷新"/>
</form>

比如说,页面在00:00:00进入
在00:00:10按下按钮,
这样第一个时间(在updatepanel中)就变成了00:00:10
第二个时间(在updatepanel外)的时间没变化,
现在用查看浏览器源码,结果两个时间都是00:00:00
怎么样才能在查看源码的时候updatepanel中的时间能变成00:00:10呢,请问???
分不多,20分全送上!!!
...全文
134 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
williamreln 2012-08-12
[Quote=引用 4 楼 的回复:]
是缓存问题。对了你要查看源文件干嘛?在页面显示正确不就得到想要的结果了吗?
[/Quote]
是这样的:
我在一个webform中,有一个函数:

private Guid thisPageUniqueID = Guid.NewGuid();

public Guid GetProductID { get { return thisPageUniqueID; } }


在aspx中输出

<%=GetProductID%>


页面上有一个button控件, 名称为:addStorageInfo
有一个updatepanel,该updatepanel内有一个函数是获得数据库最后的记录的ID的函数,

当点击button控件时,我触发在服务端新增一条记录,记录的ID就是通过GetProductID函数获得。这个button同时也是触发一个updatepanel局部刷新的一个控件。这样这个addStorageInfo就做了两个事情:
一:新增一条记录;
二:刷新一个updatepanel

按道理来说,最终,页面在局部刷新的时候会获得刚才加的最后一条记录的ID的,我在实际的测试中直接用一个GetLastID函数在页面上是显示正确了,获得了刚才加的最后一个记录的ID,
但是,在查看浏览器的“源文件”是发现ID仍然是上一条,不是刚才加的最后一条。
就是说页面看到的ID和通过查看浏览器的“源文件”的ID不一致。

请问,这个问题怎么解决。有个前提,不能将局部刷新改为整页postback。因为在点击,addStorageInfo的时候弹出了一个层,如果postback,这个弹出层会消失。
回复
杰拉尔 2012-08-11
用 Chrome 或 firefox
回复
看来你很少进行javascript编程,更别说一个页面上经过数千行javascript修饰处理过的了。那个你无法简单地看“源代码”。
回复
需要浏览器的功能比较高级才能看到。
回复
蝶恋花雨 2012-08-11
是缓存问题。对了你要查看源文件干嘛?在页面显示正确不就得到想要的结果了吗?
回复
williamreln 2012-08-11
[Quote=引用 2 楼 的回复:]
这个没有办法,源码文件是不会变的。
[/Quote]

那,页面为什么会呈现更新呢,第一个时间不是已经更新了么?
回复
这个没有办法,源码文件是不会变的。
回复
宝_爸 2012-08-11
这个估计没有办法。
如果是IE9的话,按F12打开开发人员工具
在Html tab中可以看到更新后的数据,可以点刷新按钮进行刷新。

我一般用Chrome的的开发人员工具,不用收到刷新。
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2012-08-11 02:21
社区公告
暂无公告