Posts
163
Comments
179
Trackbacks
5
Creare web part Ajax Enabled per SharePoint 2007

Al giorno d’oggi un’applicazione web che si rispetti non può più fare a meno di Ajax. Anche su SharePoint vale la stessa cosa e andando a sviluppare web part è quasi “d'obbligo” utilizzare un qualche framework Ajax. Volendo utilizzare le Ajax Extension di Microsoft e volendo anche utilizzare il nuovo Framework 3.5 è necessario compiere alcuni piccoli passi.
La prima cosa da fare è modificare il web.config di SharePoint affinchè includa tutte le entry necessarie a supportare il Framework .NET 3.5. E’ possibile editare a mano il web.config di SharePoint e riportare tutte le modifiche, ma esiste anche un metodo più rapido descritto in questo post. Qui i punti salienti:

  1. Da Visual Studio 2008 creare un progetto web temporaneo;
  2. Selezionare come target il Framework 2.0;
  3. Copiare il web.config di SharePoint nel nuovo progetto;
  4. Cambiare il target del progetto selezionado il Framework 3.5;
  5. Copiare il web.config modificato nella virtual directory di SharePoint.

Fatto questo il nostro web.config avrà tutto il necessario per supportare LINQ, le Ajax Extensions, e compagnia varia.
A questo punto potremo creare le nostre web part Ajax-Enabled. L’unica accortezza è quella di verificare che nella pagina ci sia sempre uno ScriptManager. Volendo è possibile modificare direttamente la master page, ma in caso di redistribuzione della nostra web part potrebbe essere scomodo.

Possiamo però verificare da codice la presenza dello script manager e nel caso non fosse presente possiamo andare ad aggiungerlo in automatico:

   1: protected override void OnInit(EventArgs e)
   2: {
   3:   base.OnInit(e);
   4:   try
   5:   {
   6:     // Verifico se lo script manager è già presente
   7:     ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
   8:     if (scriptManager == null)
   9:     {
  10:       scriptManager = new ScriptManager();
  11:       scriptManager.ID = "ScriptManager1";
  12:       scriptManager.EnablePartialRendering = true;
  13:       // Aggiungo lo script manager alla pagina
  14:       this.Page.Form.Controls.AddAt(0, scriptManager);
  15:     }
  16:   }
  17:   catch (Exception ex)
  18:   {
  19:     error = ex.ToString();
  20:   }
  21: }

Per finire nel caso ci fossero problemi di postback con gli update panel, questo KB della Microsoft mostra il work-around da utilizzare.
Alla prossima!

posted on lunedì 3 novembre 2008 12:21 Print
Comments
Gravatar
# re: Creare web part Ajax Enabled per SharePoint 2007
asorcinelli@hotmail.it
03/11/2008 16:04
Beh si,
è corretto quello che dici. Sono fondamentalmente d'accordo e sono d'accordo che quando si fa il deploy ci vuole una feature.

Però è anche vero che in molte situazioni (sviluppo, test, installazioni mono-macchina) può essere cmq un metodo rapido e "indolore".
Chiaramente non mi sognerei mai di fare il deploy di una mia soluzione in questo modo, anche perchè non tutti i clienti hanno Visual Studio 2008 :)
Comments have been closed on this topic.
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.

La mia foto

Logo MCAD
Logo MCTS