2

我有一个网格视图,它位于页面上的模式弹出窗口的更新面板中。
问题是每次我单击网格视图中的图像按钮时,整个页面都会刷新。这会导致我的整个页面加载,并且由于我已将页面的其余部分显示为灰色,因此用户无法单击它,这非常烦人。

有谁知道我错过了什么。

编辑:我在底部输入了一个更好的解决方案

4

10 回答 10

3

确保在 UpdatePanel 上有以下设置:ChildrenAsTriggers=false 和 UpdateMode=Conditional

于 2008-08-29T19:49:08.787 回答
2

UpdatePanel 上有 ChildrenAsTriggers="false" 吗?

页面上是否有任何 javascript 错误?

于 2008-08-29T17:59:36.383 回答
2

我遇到了这个问题,并遇到了以下文章:

http://bloggingabout.net/blogs/rick/archive/2008/04/02/linkbutton-inside-updatepanel-results-in-full-postback-updatepanel-not-triggered.aspx

我的按钮不是像本例那样在代码中动态创建,但是当我检查 aspx 中的代码时,它确实缺少 ID 属性。添加 ID 后,回发变得异步并开始按预期运行。

因此,总而言之,检查您的按钮是否有 ID!

于 2008-10-14T11:25:32.327 回答
1

您是在 Firefox 还是 IE 中进行测试?我们有一个类似的问题,即整个页面在 Firefox(但不是 IE)中刷新。为了解决这个问题,我们使用了一个隐藏的 asp:button 并设置了 useSubmitBehavior="false"。

<asp:Button ID="btnRefresh" runat="server" OnClick="btnRefresh_Click" Style="display: none" UseSubmitBehavior="false" />
于 2008-08-29T20:06:00.447 回答
1

几个月后,这个问题得到了解决。我工作的项目是以前的 v1.1,它是用 2.0 转换的。但是,在 web.config 中,这一行仍然存在:

<xhtmlConformance mode="Legacy"/>

当它被注释掉时,我们似乎使用 ajax 控制工具包的所有错误都消失了

于 2008-12-31T16:58:15.890 回答
0

是否使用 IE 模态窗口弹出模态窗口?还是您正在展示的DIV?

如果它是 IE 模式弹出窗口,您需要确保您有

   <base target="_self" /> 

确保回发到模态页面。

如果它是 DIV,请确保您的 XHTML 正确,否则它可能不知道要更新什么。

于 2008-08-29T19:16:30.863 回答
0

我会离开 onClick 并将其设置为 updatePanel 的触发器。

奇怪的是它适用于 FF 而不是 IE。这与我们所经历的行为相反。

于 2008-08-29T20:24:35.830 回答
0

UpdatePanel 可能对格式错误的 HTML 敏感。从您的浏览器查看源代码并通过 W3C 验证器之类的东西运行它以查找任何奇怪的东西(未关闭的 div 或表是通常的嫌疑人)

如果你使用 Firefox,有一个 HTML 验证器 Extension/AddOn 可以很好地工作。

于 2008-09-16T18:22:02.977 回答
0

以供参考..

我还注意到,在使用可怕的<asp:UpdatePanel ... />and<asp:LinkButton ... />时,需要UpdateMode="Conditional"进行UpdatePanel以下其他更改:

  • ViewStateMode="Enabled"需要<asp:Content ... />(我已将其设置DisabledMasterPage
  • ClientIDMode="Static"必须从<%@ Page ... />
于 2012-11-07T15:42:26.193 回答
0

为了防止回发,将 return false 添加到 onclick 事件。

button.attribute.add("onclick","re​​turn false;");

样本:

string PopupURL = Common.GetAppPopupPath() + "Popups/StockChart.aspx?s=" + symbol;
hlLargeChart.Attributes.Add("onclick", String.Format("ShowPopupStdControls(PCStockChartWindow,'{0}');return false;", PopupURL));
于 2015-11-28T14:39:14.343 回答