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.Profile("aspitalia")
o cercare all'interno:
@Twitter.Search("aspitalia")
XBox
Sulla stessa falsa riga, è possibile visualizzare un account di XBox:@GamerCard.GetHtml("n0str0m0")
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 Razorhttps://www.aspitalia.com/focuson/1253/Speciale-Razor-View-Engine-WebMatrix-ASP.NET-MVC.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Load test di ASP.NET Core con k6
Eseguire query verso tipi non mappati in Entity Framework Core
C# 12: Cosa c'è di nuovo e interessante
Creare gruppi di client per Event Grid MQTT
Evitare il flickering dei componenti nel prerender di Blazor 8
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Gestire il colore CSS con HWB
Proteggere le risorse Azure con private link e private endpoints
I più letti di oggi
- anche domani dalle 17:30 seguite con noi live #build15 https://aspit.co/build15
- Webcast 'AJAX & ATLAS Overview'
- a #igds il 25 e 26/10 a Milano puoi sviluppare un gioco per #wp8 con @AppCampus. in palio 70.000 Euro: https://aspit.co/apa
- WinJS in Windows Phone 8.1
- la RC di #vs13 è compatibile con #win81 RTM, non con la Preview. l'annuncio ufficiale è su https://aspit.co/any
- Ancora un bug: esce Mono 0.23
- SSL Certificates for everyone on Azure
- Mostrare una MessageBox con un custom control
- disponibile la preview 1 ci #dotnetcore 2.1, #aspnetcore, #efcore. performance, novità e migliorie su https://aspit.co/bmf
- si continua a #netconfit con 'developing modern web apps with #aspnetcore', con il nostro @dbochicchiohttps://aspit.co/netconf-18