2009-05-13 2 views
0

Я написал образец webpart, который принимает параметр, переданный из веб-страницы orher, и отображает его значение на ярлыке. Вот код:WebPart Connections на Sharepoint. - Какой тип использовать?

[Guid("11a885e9-13e1-4c6e-8045-e5575794ebd8")] 
public class DisplayParameter : System.Web.UI.WebControls.WebParts.WebPart 
{ 
    protected Label _label = new Label(); 
    private string _message; 

    [ConnectionConsumer("Parameter to show")] 
    public void GetWPConnectedProviderInterface(IWebPartField connectProvider) 
    { 
     FieldCallback callback = FieldCallback; 
     connectProvider.GetFieldValue(callback); 
    } 

    private void FieldCallback(object fieldValue) 
    { 
     _message = (string)fieldValue; 
    } 

    protected override void OnPreRender(EventArgs args) 
    { 
     if (string.IsNullOrEmpty(_message)) 
      _label.Text = "No Message."; 
     else 
      _label.Text = _message; 
    } 

    protected override void CreateChildControls() 
    { 
     base.CreateChildControls(); 
     Controls.Add(_label); 
    } 
} 

Тогда я поставил WP на странице и DataView WP генерируемой с SPD, чтобы передать имя файла из библиотеки Doc в WP.
Это хорошо работает в первый раз, но когда я выбираю другой документ, я получаю следующее исключение:

Невозможно привести объект типа «Test.Assembly.SharepointProject.DislayParameter» к типу «Microsoft.SharePoint. WebPartPages.WebPart.

Это заставляет меня думать ... ли я наследовать от Microsoft.SharePoint.WebPartPages.WebPart вместо System.Web.UI.WebControls.WebParts.WebPart ?, и если да, то Каковы Недостатки этого, поскольку MSDN и блоггеры предлагают использовать последний класс?

ответ

1

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

Проблема также может быть немного омрачена существованием другой части веб-части в SharePoint 2003, которая предшествует веб-частям .NET 2.0 - это тот, который определенно не должен использоваться.

+0

Привет Том. Я использовал их таким образом без каких-либо проблем ... короче. Разделение Я контролирую свою среду, что не должно представлять проблемы !!! Спасибо за ответ! –