我有一个更新面板,其中包含一个中继器,该中继器将用户控件调用到每一行中。当我单击用户控件内的按钮时,只有当我完全重新加载页面时,页面才会完全不刷新。如何从用户控件的按钮点击更新面板刷新?从usercontrol中更新父级更新面板
1
A
回答
0
您确定您的用户控件上的按钮正在尝试执行回发吗?我有一段时间没有使用更新面板(我实际上建议避免它们),但是如果我记得正确的话,只要回发完成,它们就会刷新。这意味着你的按钮必须是Asp:Buttons(或导致回发的类似控件),并且不会有某种JavaScript不会让他们的动作继续(例如返回false)。
3
有当UpdatePanel的更新,影响三两件事:
- 的
UpdateMode
属性 - 这需要两个可能的值,Always
和Conditional
。- 如果它被设置为
Always
那么页面的任何回发将导致UpdatePanel更新。 - 如果设置为
Conditional
,那么UpdatePanel仅在UpdatePanel的Update
方法被调用时或UpdatePanel的某个触发器执行回发时更新。
- 如果它被设置为
- 的
Triggers
proroperty - 定义,其控制会导致在UpdatePanel时UpdateMode
设置为Conditional
进行更新。 ChildrenAsTriggers
属性 - 这是一个布尔值,它确定UpdatePanel的子控件是否被自动视为触发器,而不必将其添加到Triggers
集合中。
因为你的按钮是在用户控件也不会是容易的控件添加到收藏Triggers
或有按钮呼吁,是不是该用户控件内UpdatePanel的Update方法。
因为您的UpdatePanel包含UserControl的最好的选择是启用ChildrenAsTriggers
。如果这不起作用,请尝试将UpdateMode
属性设置为Always
。如果这仍然不起作用,那么Phairoh可能是correct,并且您的Button不回发。
2
有时用Triggers解决这个问题并不方便。所以这里有另一种奇特的方法,即使从你的用户控件也可以使用,而不需要任何关于更新面板的知识:
var scriptManager = ScriptManager.GetCurrent(Page);
if (scriptManager != null)
scriptManager.RegisterPostBackControl(SomeControlID);
相关问题
- 1. 更新在面板中添加的UserControl
- 2. usercontrol内更新面板问题
- 3. navagating更新面板更新
- 4. 更新面板更新
- 5. Asp.Net更新从另一个更新面板的面板
- 6. 更新父级jsf页面的组件
- 7. 更新面板
- 8. 在更新面板中不更新Gridview
- 9. 更新面板中的更新控件
- 10. 排除从更新面板
- 11. 刷新更新面板c#
- 12. 刷新更新面板
- 13. ASP.NET刷新更新面板
- 14. 更改Javascript更新面板
- 15. 更新父级时级联更新孩子
- 16. Asp.net更新面板
- 17. 更新面板似乎没有更新
- 18. ImageButton不更新更新面板
- 19. 更新面板控件不更新
- 20. 更新面板更新进度
- 21. 更新面板没有更新内容
- 22. usercontrol中的更新面板让我疯狂
- 23. 更新面板在Asp.net中?
- 24. 如何停止从另一个更新面板的更新面板中发生AJAX更新?
- 25. 从更新面板之外的控件更新更新面板中的自定义用户控件
- 26. 一个更新面板与多个更新面板
- 27. 在更新面板中刷新GridView
- 28. 母版页上的更新面板也刷新子页面更新面板
- 29. 更新了一个更新面板,另一个更新了?
- 30. 更新面板刷新整个页面