Как вызвать метод из файла класса веб-части из пользовательского контроля в SharePoint 2007? - PullRequest
0 голосов
/ 26 мая 2009

Я следовал инструкциям в этой статье MSDN: http://msdn.microsoft.com/en-us/library/dd206945.aspx

Можно ли вызвать метод, который находится в файле myWebPart.cs, из файла MyUserControl.ascx? У меня, кажется, нет смысла методов в 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 в usercontrol, но, по-видимому, нет?

Мне не хватает какой-то запутанности в SharePoint?

Ответы [ 2 ]

1 голос
/ 26 мая 2009

Я согласен с тем, что говорит Джон, и я хотел бы добавить следующее ...

Если ваш пользовательский элемент управления содержится в вашей веб-части, вы сможете использовать свойство Parent и перейти к иерархии, чтобы найти его. Другим способом передачи информации между ними будет регистрация событий от одного к другому.

1 голос
/ 26 мая 2009

Прежде всего, похоже, что пространство имен, в котором находится myWebPart, имеет то же имя, что и веб-часть. Вы должны изменить это. Тогда у вас, вероятно, не будет ошибки времени компиляции.

У вас будет ошибка во время выполнения. Если этот метод, который вы хотите вызвать, взаимодействует с состоянием среды выполнения веб-части, то, скорее всего, его не следует вызывать извне веб-части.

Более того, пользовательский элемент управления должен найти и вызвать конкретный экземпляр веб-части, которая в данный момент активна, а не создавать новый экземпляр, который не будет иметь ничего общего с уже запущенным экземпляром. 1005 *

Если метод является статическим (или должен быть), то это имеет смысл, но я бы сказал, что такой метод не относится к веб-части. Он должен быть перемещен в библиотеку классов, доступную для веб-части и пользовательского элемента управления.

...