在更新面板中包含的用户控件中使用Page.IsPostback

问题描述 投票:1回答:3

我有一个主页面,我用一个网格加载用户控件并添加/编辑链接按钮。

如果我通过设置数据源并在页面加载事件中调用databind()方法来绑定网格,那么它会正确设置。但是,我想在回发之间保留选定的行,所以我像往常一样将绑定代码包装在“if(!Page.IsPostBack){}”中。我的问题是页面加载总是将其注册为回发,我的代码永远不会运行。

我正在使用2.0框架,我的网格是2.0.1框架的2008.1 Infragistics。

我认为这一定很简单......或者希望无论如何!

提前致谢

c# asp.net ajax asp.net-ajax infragistics
3个回答
1
投票

如果将控件放入UpdatePanel,则应检查Page.IsCallback而不是Page.IsPostBack


0
投票

我发现这两种方式是:

  1. 在首次加载页面时加载用户控件,然后隐藏它们直到用户选择他们需要查看的内容。
  2. 将新页面加载到主页面上的iframe中,允许它具有自己的页面控件,这意味着它首先加载时不是回发。

不是最伟大的,但是得到了。

谢谢您的帮助。


0
投票

我对这个旧线程的坏消息感到复杂,但问题仍然存在,并且没有提供任何出色的解决方案,所以尽管我会添加我最近为解决同一问题所做的事情:

我和我正在建设的网站有类似的问题。我的解决方案是向用户控件添加一个名为“OnFirstLoad”的方法,该方法执行我将包含在“if not Page.IsPostback”块中的所有内容。然后,当控件第一次加载到控制树中时,我从托管页面调用“OnFirstLoad”方法。这样控件本身不必担心这是否是回发,并且主页面可以根据需要初始化它。

© www.soinside.com 2019 - 2024. All rights reserved.