[英]how do i call a method from a usecontrol to a another usercontrol?
[英]How do I call a method that is in the webpart class file, from a usercontrol in SharePoint 2007?
我已按照此MSDN文章中的說明進行操作: http : //msdn.microsoft.com/zh-cn/library/dd206945.aspx
是否可以從MyUserControl.ascx文件調用myWebPart.cs文件中的方法? 除非我這樣做,否則我似乎對myWebPart.cs中的方法沒有任何了解:
myWebpart mywbprt = new myWebpart();
mywbprt.myMethInWebPartcs();
但是,這會得到錯誤,並且無法編譯:
Error 2 'myWebpart' is a 'namespace' but is used like a 'type'
myWebPart.cs和MyUserControl.ascx共享相同的命名空間,我認為在用戶控件中調用myWebPart.cs中的方法就足夠了,但是顯然不是嗎?
我是否缺少一些SharePoint的復雜性?
首先,看起來myWebPart所在的名稱空間與Web部件具有相同的名稱。 您應該更改它。 然后,您可能沒有編譯時錯誤。
您將遇到運行時錯誤。 如果要調用的此方法與Web部件的運行時狀態交互,則很可能不應從Web部件外部調用它。
更重要的是,用戶控件需要找到並調用當前處於活動狀態的Web部件的特定實例,而不是創建一個新實例,這與已經在運行的實例無關。
如果該方法是靜態方法(或者應該是靜態方法),那么這會更好一些,但是我認為這種方法不屬於Web部件內部。 應該將其移至Web部件和用戶控件共享的類庫。
我同意約翰所說的,我想補充以下內容...
如果您的用戶控件包含在Web部件中,則您應該能夠使用Parent屬性並向上層次結構進行查找。 兩者之間進行通信的另一種方式是注冊彼此之間的事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.