我有一個Default.aspx頁面,我在其中使用了一個usercontrol。在usercontrol.cs中的某些條件中,我必須調用Default.aspx.cs頁面中存在的函數(即用戶控件的父頁面)。請幫助並告訴我如何完成這項任務。從用戶控件調用父頁面功能
1
A
回答
0
你必須在Page
財產轉換爲實際類型:
var def = this.Page as _Default;
if(def != null)
{
def.FunctionName();
}
的方法必須是public:
public partial class _Default : System.Web.UI.Page
{
public void FunctionName()
{
}
}
但是請注意,這不是最好的做法,因爲你是硬將UserControl
與Page
聯繫起來。通常UserControl的一個目的是可重用性。這裏不再有了。從UserControl
與其頁面進行通信的最佳方式是使用可由頁面處理的自定義事件。
Mastering Page-UserControl Communication - event driven communication
-2
試試這個
MyAspxClassName aspxobj= new MyUserControlClassName();
aspxobj.YourMethod(param);
+1
你在開玩笑嗎?除了'UserControl'不是'Page''這個事實,如果你想訪問'Page或UserControl'上的控件,使用構造函數來創建一個頁面(或'UserControl')將不起作用,因爲這個實例不是通過頁面的生命週期從ASP.NET創建的。 –
0
事件添加到用戶控件:
public event EventHandler SpecialCondition;
引發此事件,您的用戶控件中,當條件滿足:
private void RaiseSpecialCondition()
{
if (SpecialCondition != null) // If nobody subscribed to the event, it will be null.
SpecialCondition(this, EventArgs.Empty);
}
然後在包含用戶控制你的頁面,監聽的事件:
public partial class _Default : System.Web.UI.Page
{
public void Page_OnLoad(object sender, EventArgs e)
{
this.UserControl1.OnSpecialCondition += HandleSpecialCondition;
}
public void HandleSpecialCondition(object sender, EventArgs e)
{
// Your handler here.
}
}
您可以將EventArgs
改變的東西,如果需要的是傳遞價值,更實用。
0
parent.aspx.cs
public void DisplayMsg(string message)
{
if (message == "" || message == null) message = "Default Message";
Response.Write(message);
}
要調用父頁面的功能由用戶控制使用以下命令: UserControl.ascx.cs
this.Page.GetType().InvokeMember("DisplayMsg", System.Reflection.BindingFlags.InvokeMethod, null, this.Page, new object[] { "My Message" });
這正常工作對我..
相關問題
- 1. 從父頁面調用Web用戶控件的功能
- 2. 從父頁面調用用戶控件功能
- 3. 調用網頁用戶控件的父aspx頁面的功能
- 4. 如何從父頁面asp.net調用功能的用戶控制
- 5. 從用戶控件調用父頁面的方法
- 6. 如何從用戶控件的父頁面調用JavaScript函數?
- 7. 從用戶控件調用母版頁功能?
- 8. 調用子控件的用戶功能
- 9. 不能夠調用父頁面的保護方法在asp.net用戶控件
- 10. 如何在用戶控件中使用頁面功能
- 11. 從iFrame調用主頁面功能?
- 12. 從單獨的用戶控件調用頁面中的事件
- 13. 調用ASP.NET用戶控件事件時調用頁面事件
- 14. 如何從自定義用戶控件中刷新父頁面?
- 15. 從父頁面訪問用戶控件中的SQLDatasource。
- 16. 從其父頁面驗證ASP.NET用戶控件
- 17. 從C中的子控件調用父頁面方法#
- 18. 從wicket中的父頁面組件調用子頁面組件
- 19. 在子級用戶控件中訪問父頁面控件
- 20. C#用戶控件在父頁面上與控件交互
- 21. 從colorbox執行父頁面功能
- 22. 從用戶配置文件頁面控制功能(例如發送郵件)
- 23. 從javascript調用ActiveX控件的功能
- 24. 如何在父頁上調用子級用戶控件事件
- 25. 打開頁面和從其他頁面調用功能
- 26. 設置父頁面控制子項用戶控件頁面的可見性
- 27. Arangodb:我可以從用戶功能調用用戶功能嗎?
- 28. 從位於中繼器控件內的用戶控件調用父頁面中的方法
- 29. 從網頁用戶控件訪問頁面內的html控件
- 30. 傳遞值從父頁用戶控制
[這會幫助你](http://stackoverflow.com/questions/623136/calling-a-method-in-parent-page-from-user-control?rq=1) – Damith