即使gridview在更新面板中,整个页面也会刷新
我在页面上的模式弹出窗口的updatepanel中有一个gridview。
问题是,每次我单击gridview中的imagebutton时,整个页面都会刷新。这将导致整个页面加载,并且由于我已经将页面的其余部分显示为灰色,因此用户无法单击它,这非常令人讨厌。
有谁知道我在想什么。
编辑:我在底部输入了更好的解决方案
解决方案
回答
我们在UpdatePanel上是否有ChildrenAsTriggers =" false"?
页面上有没有JavaScript错误?
回答
使用IE Modal窗口会弹出Modal窗口吗?还是我们正在显示的DIV?
如果它是IE Modal Popup,则需要确保我们拥有
<base target="_self" />
确保回发到模式页面。
如果是DIV,请确保XHTML正确,否则可能不知道要更新什么。
回答
确保在UpdatePanel上具有以下设置:
ChildrenAsTriggers = false,UpdateMode =条件
回答
我们是否正在Firefox或者IE中进行测试?我们有一个类似的问题,整个页面在Firefox(而不是IE)中刷新。为了解决这个问题,我们使用一个隐藏的asp:button,其中设置了useSubmitBehavior =" false"。
<asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" Style="display: none" UseSubmitBehavior="false" />
回答
我将离开onClick并将其设置为updatePanel的触发器。
奇怪的是,它可以在FF中而不是在IE中工作。这与我们所经历的行为相反。
回答
UpdatePanels可能对格式错误的HTML敏感。在浏览器中执行查看源代码,并通过W3C验证程序之类的程序运行它,以查找任何奇怪的内容(未封闭的div或者表通常是可疑的)
如果我们使用Firefox,则可以使用HTML验证程序Extension / AddOn,效果很好。
回答
我遇到了这个问题,并遇到了以下文章:
http://bloggingabout.net/blogs/rick/archive/2008/04/02/linkbutton-inside-updatepanel-results-in-full-postback-updatepanel-not-triggered.aspx
我的按钮不是像本例中那样在代码中动态创建的,但是当我检查aspx中的代码时,要确定它缺少一个ID属性。添加ID后,回发将变为异步状态并开始按预期方式运行。
因此,总而言之,请检查按钮是否具有ID!
回答
几个月后,此问题已解决。我正在处理的项目是以前的v1.1,后来被2.0转换了。但是,在web.config中,此行保持不变:
<xhtmlConformance mode="Legacy"/>
当它被注释掉之后,我们似乎对ajax控件工具包所拥有的所有错误都消失了

