Da bravi sviluppatori Sharepoint "addicted" saprete che il modo più semplice per sviluppare delle Web Parts per Sharepoint è quello di realizzare degli UserControl Ascx e quindi "wrapparli" (bel termine) in una Web Part. Questo modo è talmente semplice che è anche il metodo principale per costruire le Web Parts di Sharepoint 2010 quando si usa Visual Studio 2010.
Sempre da bravi programmatori saprete che la moda è la moda è che se non si segue la moda si è fuori moda. Oggi è di moda Silverlight! Quindi le vostre Web Parts dovranno essere Silverlight enabled :-). Sharepoint 2010 permette di costruire web part Silverlight . Il problema è che voi volete essere alla moda ora, non fra sei mesi....
Niente paura: potete comodamente scrivere la vs. applicazione Silverlight e poi wrapparla in una web part Sharepoint v12 (sarebbe a dire WSS 3.0/MOSS 2007).
namespace MediaPlayerWebPart {
[Guid("7e7ef885-130a-45e6-ab14-15f344b1939d")]
public class MediaPlayerWebPart :
System.Web.UI.WebControls.WebParts.WebPart {
public MediaPlayerWebPart() {
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
if (scriptManager == null) {
scriptManager = new ScriptManager();
this.Controls.Add(scriptManager);
}
}
protected override void CreateChildControls() {
System.Web.UI.SilverlightControls.Silverlight myMediaCtrl =
new System.Web.UI.SilverlightControls.Silverlight();
myMediaCtrl.ID = "myMediaPlayer";
myMediaCtrl.Source = "/ClientBin/XAP/MediaPlayer.xap";
myMediaCtrl.Width = new System.Web.UI.WebControls.Unit(900);
myMediaCtrl.Height = new System.Web.UI.WebControls.Unit(650);
this.Controls.Add(myMediaCtrl);
}
}
}
Se vedete bene è praticamente la stessa cosa che si fa con gli usercontrols ascx. Solo che in luogo dell'Ascx create un oggetto Silverlight ed a runtime il suo .xap.
Considerate che dovete quindi referenziale la namespace di Silverlight ed ovviamente gestire lo ScriptManager. Non vi dico che tutto richiede il framework 3.5.
Il resto ce lo mettete voi.
Per maggiori info andate a questo link: http://www.devx.com/MSDN/Article/40743/0/page/1