我有一個更新面板,其中包含一箇中繼器,該中繼器將用戶控件調用到每一行中。當我單擊用戶控件內的按鈕時,只有當我完全重新加載頁面時,頁面纔會完全不刷新。如何從用戶控件的按鈕點擊更新面板刷新?從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. 更新面板刷新整個頁面