ASP.NET

Wikio-Vote-Button als ASP.NET-Server-Control

Ja, ich gebe es zu, ich mag News-Portale mit Voting-Funktionen wie digg, yigg oder Ähnliche. Im deutschsprachigen Raum, und in dieser Sprache schreibe ich nun mal, sieht es in diesem Bereich aber eher mau aus. Einen echten Ableger von digg wird es hierzulande wohl nicht geben und den anderen Diensten ist der Durchbruch noch nicht recht gelungen.

Ein wie ich finde interessanter Vertreter dieser Gattung ist wikio.de aus Luxemburg, die mit dem Portal unter anderem in Frankreich, Italien, Spanien und Großbritannien vertreten sind. In der letzten Zeit gab es über wikio immer wieder mal rege Diskussionen bis hin zu Vorwürfen des Content-Klaus, aber sehe das etwas gelassener, denn schließlich schreiben wir ja für die Leser "da draußen" und so ist es durchaus legitim, dass Content-Aggregatoren die Artikel verwerten und verbreiten, auch wenn echte Backlinks fehlen. Dafür habe ich meinen Content ja schließlich auch unter die Creative-Common-Lizenz gestellt und die wird eingehalten.

So sauber und stylish wie die wikio-Web-Seite sind auch die Voting-Buttons, die man auf der eigenen Seite einbinden kann. Nichts erinnert in das HTML- und CSS-Chaos der Yigg-Buttons, die ich inzwischen wieder von der Seite genommen habe, weil noch nicht mal der IE7 sie korrekt darstellen konnte. Der einzige Wermutstropfen bei der Implementierung der wikio-Buttons ist, dass wikio für den geneigten Webmaster lediglich etwas Code für Wordpress-, Blogger- und DotClear-Systeme bereitstellt. Wieder einmal Fehlanzeige in Sachen ASP.NET.

Da der PHP-Code des Wordpress-Plugins recht simpel ist, habe ich mich entschlossen Abhilfe zu schaffen und ein Web-Server-Control zu entwickeln, das ASP.NET 2.0-Webmaster leicht in Ihre Seiten einbinden können. Herausgekommen ist WikioButton. Den Download, inklusive Source-Code, findet ihr am Ende dieses Artikels

Hauptmerkmal des Buttons ist die Darstellung der aktuellen Votinganzahl eines Artikels, die über einen URL-Request vom wikio-Server geholt werden kann. Dazu bedarf es ein paar Angaben, die dem Web-Server-Control über folgende Eigenschaften mitgeteilt werden:

EigenschaftBeschreibung
ButtonStyleTall oder Large (Enumeration)
ArticleUrlKompletter Pfad zum Beitrag (Permalink)
ClientIPIP-Adresse des Requests
RequestTimeoutZeitspanne in Millisekunden, die auf eine Antwort des wikio-Servers gewartet werden soll
RefererUrlReferer-URL (optional)

Die DLL des Steuerelements ist recht schnell in die Visual Studio-Toolbar eingebunden und kann dann in jede ASPX-Seite gezogen werden. Wer wie ich lieber in der Code-Ansicht arbeitet, muss WikioButton lediglich auf der Seite (oder zentral in der web.config) registrieren und etwas ASP-Markup in die Stelle setzen wo der Button angezeigt werden soll.

<%@ Register Assembly="WikioButton"
	Namespace="zerbit.WebControls"
	TagPrefix="sct" %>
...
<sct:WikioButton ID="WikioButton1" runat="server" />

Für die Bestückung des Controls mit den Eigenschaften eignet sich das Event Page_Load am ehesten, da Server-Control-Eigenschaften bekanntlich nicht mit Inline-Code versehen werden können:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
	Handles Me.Load
	...
	Me.WikioButton1.ButtonStyle = _
		zerbit.WebControls.WikioButton.WikioButtonStyle.Large
	Me.WikioButton1.ArticleUrl = Request.Url.AbsoluteUri
	Me.WikioButton1.ClientIP = Request.UserHostAddress.ToString
	Me.WikioButton1.RequestTimeout = 2000

End Sub

Das wäre es dann schon. Die einzig schwierige Aufgabe ist, sich zu entscheiden wohin der Button auf der Seite hinkommen soll.

Viel Spass damit.

zum Download...

P.S. Es würde mich freuen, wenn jemand mit dem Source-Code Verbesserungen entwickelt, davon zu erfahren.

kick it on dotnet-kicks.de AddThis 0 wikio-Stimme(n) Trackback-Url...

200 Kommentare bislang...

  • The aboriginal affair you should consistently anticipate about is how you abundance your argent jewelry. Argent mostly tarnishes due to damp so, to abstain it, <b> Crystal Bangles</b>
    consistently accomplish abiding your argent adornment is stored in a cool, dry place. Better still, you can buy anti befoul cardboard strips which you can put central your adornment box. To abstain scratching, accomplish abiding you do not put altered pieces of your adornment together, as this will accomplish them besom <b> silver bracelets</b>
    assimilate anniversary added and scratch.
    200
    itemsinthebox : Samstag, 4. Februar 2012 07:06
  • To celebrate the Apollo spacecraft man on the moon in successful 40 years, Louis Vuitton (Louis Vuitton) July 13 days late in New York held a big fashion party. cheap louis vuitton That night the hot actress gathers, sexy supermodel at the top. July 21, 2009, is the "Apollo" manned moon landing 40 anniversary of success. Reviewing the history, more people feel this is human beings technology a great achievement, is a great feat.
    199
    cheap louis vuitton : Sonntag, 15. Januar 2012 13:46
  • the countries Coach Outlet downgraded on Friday can necessarily count,that no Coach Factory Outlet ratings agency would dictate the policies of Chanel Bags France,rumors of the downgrades had begun to swirl.
    198
    Coach Outlet : Samstag, 14. Januar 2012 12:31
  • "Gucci Kingdom" by Gucci Borse was founded in 1930. He opened the first store in Florence, with a series of iconic products, including the famous bamboo bag. Scarpe Gucci from renowned international fashion. Over time, this well-known clothing store has been given a luxurious, sexy, modern quality. It is the ultimate modern luxury of making. In 1970, Gucci Donne began to get involved in the fragrance industry. Since then, it introduced such as: Envy perfume, Eau de Toilette, perfume and men was launched Envy me2 perfume sexy, charismatic fragrance.
    197
    Gucci Borse  : Samstag, 14. Januar 2012 02:08
  • the director Coach Outlet of the Iranian studies program at the Center,which Coach Factory Outlet have become a threat to the world’s most powerful Chanel Bags navy,would amount to economic suicide.
    196
    Coach Outlet : Freitag, 13. Januar 2012 10:10

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Artikel 254

  • Datum: 03.02.2008
    Kategorie: ASP.NET
    Zugriffe: 4.936
    Kommentare: 200
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei