在 ASP.net AJAX 项目(WebForms)中,我有一个 UpdatePanel,在 UpdatePanel 中我有多个带有 UpdatePanel 的嵌套控件,基本上我有控件树。
家长控制是网站的重要组成部分。我无法触摸它(而且它在许多地方重复使用),UpdatePanel 应保留在其当前位置。
更新面板中的子控件具有彼此分离的功能(它们也与 UpdatePanel 分离),以便能够仅刷新控件中的一部分。
基本上在 Page_Load() 上,我有用数据填充每个子控件的代码,例如,如果我有一个正在修改子控件数据的删除功能。步骤是这样的:
首先显示控件(ParentControl)。
如果我点击删除:
我需要在程序上做出改变异步回发,并使用 Page_Load() 函数在您只想执行事件时不调用履行数据。
您可以在 UpdatePanel 之外使用异步回发,是否回调,是回发我当然知道这一点,但是这些AsyncPostback 上的属性不会更改.
我有 2 个 AsycPostback,我需要区分它们:
- 首先,这只是显示数据并初始化。
- 执行事件并对控件进行修改
有人知道要实现的技术,或者某种具有此类功能的框架吗?
有人有这个问题吗?
我已经删除了我的其他答案 - 鉴于您现在描述了一个与最初的问题完全不同的问题,并且完全替换我的答案,同时保留先前版本的代表似乎是愚蠢的。
您将必须检查导致异步回调的事件,或者检查每个更新面板中控件的某些值,以帮助您找出更改的内容。
这是我决定不使用更新面板的关键原因之一,异步回发会导致几乎所有页面生命周期事件发生,并且很难真正看到在这样的复杂情况下发生的情况 -我唯一一次愤怒地使用更新面板是在我的个人网站上,它环绕数据网格,以在处理大量数据时保存整个页面的重新加载。
编辑添加:
只是想帮忙,很快谷歌就出现了this(AJAX 和 ASP.NET 2.0 回调框架) http://resources.esri.com/help/9.3/ArcGISServer/adf/dotnet/developer/ADF/ajax_aspnet.htm:
哪个控件发起了请求?
在回发请求中,ScriptManager id 作为参数。一般来说,该值是发起部分回发的控件的id。它的格式为|。控件可以直接或通过 UpdatePanel 向 ScriptManager 注册。 ScriptManager.AsyncPostBackSourceElementID 属性将返回启动部分回发的控件的 ID。
语法示例:
ScriptManager1=UpdatePanel1|Button1
该页面还详细介绍了生命周期以及该过程中的各种挂钩。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)