Hoe een eenvoudige Twitter Widget met ASP.NET te bouwen

In deze zelfstudie laat ik je zien hoe je een Twitter-widget voor ASP.NET kunt schrijven in de vorm van een herbruikbare serverbesturing, compleet met leuke dingen zoals het automatisch omzetten van URL's in links en caching om laadtijden van pagina's te versnellen.


Stap 1 Aan de slag

Om deze tutorial te volgen, heb je alleen Visual Studio nodig (je kunt MonoDevelop gebruiken als je geen Windows gebruikt, hoewel daar geen garanties zijn.) Als je niet voor contant geld wilt gaan voor de volledige versie van Visual Studio, kan de gratis Express-editie halen.

Je hebt ook kennis van C # 3.0 nodig, omdat deze tutorial gebruik maakt van een aantal van de nieuwere functies van de taal, zoals lambda-expressies en de var trefwoord.


Stap 2 De besturing maken

ASP.NET bevat een handige functie die bekend staat als Server Controls. Dit zijn aangepaste tags die bedoeld zijn om ontwikkelaars te helpen hun code te structureren. Wanneer een pagina met een serverbesturingselement wordt aangevraagd, voert de runtime van ASP.NET de Render () methode en bevat de uitvoer op de laatste pagina.

Nadat u een nieuwe webtoepassing in Visual Studio hebt gemaakt, klikt u met de rechtermuisknop in Solution Explorer en voegt u een nieuw item toe aan de oplossing. Selecteer ASP.NET Server Control en geef het een naam. Hier, ik heb het gebeld Twidget.cs, maar je mag het gerust zeggen wat je maar wilt. Plak de volgende code in, en maak je geen zorgen als het allemaal een beetje vreemd lijkt - ik zal het binnenkort allemaal uitleggen.

 systeem gebruiken; met behulp van System.Collections.Generic; met behulp van System.Linq; met behulp van System.Web; met behulp van System.Web.UI; met behulp van System.Web.Script.Serialization; met behulp van System.Net; naamruimte WebApplication1 public class Twidget: Control public string Account get; vast te stellen;  public int Tweets get; vast te stellen;  beschermde override void Render (HtmlTextWriter writer) writer.Write ("
    "); foreach (var t in GetTweets (). Take (Tweets)) writer.Write ("
  • 0
  • ", HttpUtility.HtmlEncode (t)); writer.Write ("
"); openbare lijst GetTweets () var ls = nieuwe lijst(); var jss = nieuwe JavaScriptSerializer (); var d = jss.Deserialize>> (nieuwe WebClient () .DownloadString ("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=" + Account)); foreach (var x in d) ls.Add ((string) x ["text"]); terugkeer ls;

Dit is ongeveer net zo eenvoudig als je kunt krijgen voor een Twitter-widget. Dit is hoe het werkt:

Wanneer een gebruiker een pagina opvraagt ​​met dit besturingselement erop, de Render () methode wordt uitgevoerd met een HtmlTextWriter geslaagd als een parameter. Het schrijft de