Я написал образец 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 и блоггеры предлагают использовать последний класс?
Привет Том. Я использовал их таким образом без каких-либо проблем ... короче. Разделение Я контролирую свою среду, что не должно представлять проблемы !!! Спасибо за ответ! –