簡體   English   中英

如何從SharePoint 2007中的用戶控件調用webpart類文件中的方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM