Integrare i social network con ASP.NET Web Pages

di Daniele Bochicchio, in ASP.NET 4.0, ASP.NET MVC, ASP.NET Web Pages,

Le ASP.NET Web Pages si basano su Razor, lo stesso View Engine utilizzato da ASP.NET MVC. Se conoscete questo View Engine, sapete che fa molto uso di helper, cioè di chiamate a classi che implementano facilmente determinate funzionalità.
Nel caso specifico, vengono offerti una serie di helper in grado di semplificare notevolmente le problematiche legate all'accesso ai social network.

Condivisione sui social network

Ad esempio, per mostrare la classica barra in figura:

è sufficiente questo codice:

Condividi su @LinkShare.GetHtml(Page.Title)

Ciascuna delle icone porterà alla condivisione sul relativo social network.

Twitter

In modo analogo, possiamo visualizzare i post di un dato utente su Twitter:

@Twitter.Profile("aspitalia")

o cercare all'interno:

@Twitter.Search("aspitalia")

XBox

Sulla stessa falsa riga, è possibile visualizzare un account di XBox:

@GamerCard.GetHtml("n0str0m0")

Facebook

Nel caso di Facebook, occorre aggiungere una reference al package Facebook.Helper (l'articolo riportato in fondo alle pagine mosta questa operazione in dettaglio).
Fatto questa, diventa possible aggiungere il pulsante Like di Facebook, usando un codice come il seguente:

@Facebook.LikeButton( 
          href: "https://www.aspitalia.com/", 
          action: "like", 
          width: 250, 
          buttonLayout: "button_count", 
          showFaces: true, 
          colorScheme: "dark")


L'effetto è di visualizzare il classico pulsante di Like nella pagina.

Questo helper da' anche l'accesso alle funzionalità avanzate di Facebook, come i commenti.
In questo caso, dopo aver registrato l'applicazione su http://www.facebook.com/developers/createapp.php, bisogna aprire il file _AppStart.cshtml/.vbhtml ed inserire questo codice:

@{
  Facebook.Initialize("AppID", "Secret");
}

In questo modo, questo codice sarà lanciato all'avvio. Successivamente, occorre cambiare nel file _SiteLayout.cshtml/.vbhtml la dichiarazione del tag html, per include anche lo schema custom di Facebook:

<html @Facebook.FbmlNamespaces()>

A questo punto, per visualizzare i commenti in una pagina, basterà aggiungere questo codice:

@Facebook.GetInitializationScripts()                
@Facebook.Comments()

Nel caso vogliate sfruttare il login di Facebook direttamente dal vostro sito, invece, si può inserire questo codice:

@{
  Facebook.UserProfile user = null;
  try
  {
    user = Facebook.GetFacebookUserProfile();
  }
  catch
  { }
}

@Facebook.GetInitializationScripts()

@Facebook.LoginButtonTagOnly(
  user == null ? "Login" : "Logout",
  true,
  onLogin: "document.location.href=document.location.href;")

@if (user != null)
{
  <p>Benvenuto @user.First_Name</p>
}


L'effetto sarà quello di consentire il login via Facebook e di visualizzare i dati dell'utente (nel caso, il nome). Sono accessibili tutte le classiche proprietà offerte dal profilo Facebook.
Inoltre, tra gli helper c'è la possibilità di associare direttamente l'account utilizzato ad un profilo utente salvato in un database locale, sfruttando il SimpleProfileProvider per Memebership API, di cui è dotato WebMatrix.

Riferimenti utili

Il nostro speciale su ASP.NET Razor
https://www.aspitalia.com/focuson/1253/Speciale-Razor-View-Engine-WebMatrix-ASP.NET-MVC.aspx

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi