I Schrieb einen Beispiel-Webpart, der den von orher Webpart übergebenen Parameter übernimmt und seinen Wert auf einem Etikett anzeigt. Hier ist der Code:WebPart-Verbindungen auf Sharepoint. - Welcher Typ soll verwendet werden?
[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);
}
}
Dann habe ich die WP auf einer Seite und ein Dataview-WP mit SPD erzeugt, um einen Dateinamen aus einer Doc-Bibliothek WP zu übergeben.
Es funktioniert das erste Mal in Ordnung, aber wenn ich ein anderes Dokument aus, erhalte ich die folgende Ausnahme:
Kann nicht das Objekt von Typ ‚Test.Assembly.SharepointProject.DislayParameter‘ ‚Microsoft.SharePoint einzugeben. WebPartPages.WebPart '.
Das bin ich denke, macht ... Muss ich von Microsoft.SharePoint.WebPartPages.WebPart erben müssen statt System.Web.UI.WebControls.WebParts.WebPart ?, und wenn ja, Was sind die Nachteile davon, da MSDN und Blogger vorschlagen, die letztere Klasse zu verwenden?
Hallo Tom. Ich benutzte sie so ohne Probleme ... kurz gesagt. Wenn ich meine Umgebung unter Kontrolle habe, sollte das kein Problem darstellen !!! Danke für die Antwort! –