<?xml version="1.0"?>
<?xml-stylesheet href="/App_Themes/Rss/Rss.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:snippetcenter="http://www.snippetcenter.org/">
<channel>
	<title>snippetcenter.org Snippet Feed - Client Development</title>
	<link>http://www.snippetcenter.org/</link>
	<description>The newest Snippets in  Client Development</description>
	<language>en-us</language>
	<copyright>snippetcenter.org</copyright>
	<generator>Advice: This is a RSS Document for reading in your RSS-Reader. Click here for mor informations.</generator>

	<image>
		<url>http://www.snippetcenter.org/Library/Media/Public/button_88x31.png</url>
		<title>snippetcenter.org</title>
		<link>http://www.snippetcenter.org/</link>
		<width>88</width>
		<height>31</height>
	</image>
	
	<item>
     <title><![CDATA[Checkbox mit CustomValidator am Client validieren]]></title>
     <guid><![CDATA[http://www.snippetcenter.org/en/checkbox-mit-customvalidator-am-client-validieren-s21.aspx]]></guid>
     <pubDate>Mon, 24 Apr 2006 00:06:00 GMT</pubDate>
     <description><![CDATA[Ich hab mich grad gefragt, wie man eine lauffähige JavaScript-Funktion zustande bekommt, mit der man einen CustomValidator auch am Client ausführen kann. Normalerweise benutze ich dafür allein die serverseitigen Funktionen, aber was tut man nicht alles für des Users Zufriedenheit ;-)

Nachfolgend ein kleines Beispiel, wie man eine Checkbox validieren kann. Das ist eigentlich immer dann nützlich, wenn man z.B. abfragen will, ob der User die Nutzungsbedingungen, AGB o.ä. akzeptiert. Anbei auch noch die Server-Methode.

Was gibt es zu beachten? 

Drei Sachen:

   1. Die Signatur der JavaScript-Funktion. Irgendwo in den Tiefen der automatisch generierten JavaScripts von ASP.NET wird die Funktion entsprechend aufgerufen. Will man das Ganze nun auch zum Laufen bringen, reicht es nicht einfach "false" oder "true" als Return-Value zu definieren, sondern es muss explizit args.IsValid entsprechend gesetzt werden. Da kommt man sich schnell ganz hilflos vor, so ohne IntelliSense und allem, wenn man das nicht weiß ;-).

   2. Dem CustomControl darf die Eigenschaft "ControlToValidate" nicht gegeben werden! Grund hierfür ist die Weigerung des ASP.NET-Teams CheckBox-Controls validierbar zu machen ... warum und wieso habe ich aufgehört zu verfolgen, es ist für mich sowieso nicht nachvollziehbar. Die nachfolgende serverseitige Methode wird beim Page.Validate() trotzdem aufgerufen. Man muss sich halt das entsprechende Control selbst auswählen und kann nicht bequem über .Value validieren, aber egal.

   3. Daraus folgt natürlich auch, dass uns auch der Wert der Checkbox in der JavaScript-Funktion nicht zur Verfügung steht. Also gilt auch hier: selbst ist der Entwickler/die Entwicklerin.

Hier noch die serverseitige Validierungs-Methode:

protected void ValTerms_OnServerValidate(object sender, ServerValidateEventArgs e)
{
   e.IsValid = Terms.Checked;
}]]></description>
     <link><![CDATA[http://www.snippetcenter.org/en/checkbox-mit-customvalidator-am-client-validieren-s21.aspx]]></link>
</item>

<item>
     <title><![CDATA[Encode To ASCII - Buchstaben in Ascii-Werte umwandeln]]></title>
     <guid><![CDATA[http://www.snippetcenter.org/en/encode-to-ascii-buchstaben-in-ascii-werte-umwandeln-s15.aspx]]></guid>
     <pubDate>Fri, 21 Apr 2006 11:05:00 GMT</pubDate>
     <description><![CDATA[Vor Kurzem kam in einer Mailingliste die Frage auf, wie man einen beliebigen Text in dessen entsprechende ASCII-Werte umwandeln kann.

Hier eine Funktion in VBScript, die ich vor ein paar Jahren dazu geschrieben habe. Das Ganze hat sich im Übrigen als sehr erfolgreiches Mittel gegen Spam-Bots bewährt, auch wenn man es kaum glauben mag, weil es zu simpel erscheint. Aber ich habe es seit mehreren Jahren auf einigen hoch frequentierten Seiten im Einsatz, und ein angenehm geringes Spamaufkommen auf die dort so veröffentlichten Mailadressen.]]></description>
     <link><![CDATA[http://www.snippetcenter.org/en/encode-to-ascii-buchstaben-in-ascii-werte-umwandeln-s15.aspx]]></link>
</item>

<item>
     <title><![CDATA[Confirm: Wirklich löschen?]]></title>
     <guid><![CDATA[http://www.snippetcenter.org/en/confirm-wirklich-loeschen-s13.aspx]]></guid>
     <pubDate>Fri, 21 Apr 2006 11:02:00 GMT</pubDate>
     <description><![CDATA[ch spiele gerade mal wieder mit dem Klickibunti-Databinding herum, insbesondere mit der Kombination GridView + FormView. Dabei ist es mir häufig passiert, dass ich unüberlegt die Delete-Buttons gedrückt habe, ungeschickt wenn man mit halbwegs echten Daten arbeitet.

Deswegen hat jetzt jeder Button (im Gridview dazu die Command-Columns in ItemTemplates wandeln) eine JavaScript-Abfrage spendiert bekommen. Damit dürften dann unüberlegte Löschungen der Vergangenheit angehören. Sollte man als Grundausstattung für seine Forms betrachten.]]></description>
     <link><![CDATA[http://www.snippetcenter.org/en/confirm-wirklich-loeschen-s13.aspx]]></link>
</item>

<item>
     <title><![CDATA[Kleine Browserweiche für ASP.NET]]></title>
     <guid><![CDATA[http://www.snippetcenter.org/en/kleine-browserweiche-fuer-aspnet-s1.aspx]]></guid>
     <pubDate>Thu, 13 Apr 2006 14:50:00 GMT</pubDate>
     <description><![CDATA[Ein kleines Beispiel für eine Browserweiche, die auch unter Verwendung von ASP.NET Themes funktioniert - denn der CSS-Verweis wird nach den Stylesheets aus dem Themenordner gerendert, womit ein Überschreiben von anderen CSS-Klassen funktioniert.]]></description>
     <link><![CDATA[http://www.snippetcenter.org/en/kleine-browserweiche-fuer-aspnet-s1.aspx]]></link>
</item>



</channel>
</rss>
