<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>ASP.NET AJAX</title>
        <link>http://blogs.ugidotnet.org/Crad/category/ASP.NET AJAX.aspx</link>
        <description>ASP.NET AJAX</description>
        <language>it-IT</language>
        <copyright>Marco De Sanctis</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Un mio articolo sui Custom Extender di ASP.NET 3.5</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2008/04/08/un-mio-articolo-sui-custom-extender-di-asp.net-3.5.aspx</link>
            <description>&lt;p&gt;Sul sito di &lt;a href="http://www.aspitalia.com/"&gt;Aspitalia.com&lt;/a&gt; è stato pubblicato &lt;a href="http://www.aspitalia.com/articoli/asp.net3.5/ajax-custom-extender.aspx"&gt;un mio articolo&lt;/a&gt; sulla realizzazione di un custom extender in ASP.NET 3.5.&lt;/p&gt;  &lt;p&gt;Con il bravo &lt;a href="http://blogs.aspitalia.com/rickyvr/"&gt;Riccardo&lt;/a&gt; abbiamo deciso di settarne il livello a 300 data la natura non proprio immediata, in ogni modo mi sono sforzato di rendere il tutto il più semplice possibile.&lt;/p&gt;  &lt;p&gt;Colgo l'occasione di ringraziare tutto lo staff di Aspitalia per l'opportunità che mi è stata data.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:637fb264-a6ff-4c51-a872-e7f3b6ba0c6d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/92100.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2008/04/08/un-mio-articolo-sui-custom-extender-di-asp.net-3.5.aspx</guid>
            <pubDate>Tue, 08 Apr 2008 11:36:27 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2008/04/08/un-mio-articolo-sui-custom-extender-di-asp.net-3.5.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/92100.aspx</wfw:commentRss>
        </item>
        <item>
            <title>[ASP.NET AJAX] $get e $addHandler</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/11/26/asp.net-ajax-get-e-addhandler.aspx</link>
            <description>&lt;p&gt;La cosa che più mi piace di &lt;a href="http://asp.net/ajax/"&gt;ASP.NET AJAX&lt;/a&gt; non è il fin troppo abusato &lt;a href="http://asp.net/AJAX/Documentation/Live/overview/UpdatePanelOverview.aspx"&gt;UpdatePanel&lt;/a&gt; (che pure i suoi bei meriti li ha tutti), bensì sbavo letteralmente per &lt;a href="http://asp.net/AJAX/Documentation/Live/ClientReference/default.aspx"&gt;Microsoft AJAX Library&lt;/a&gt;, vale a dire quel popò di codice client che viene iniettato nelle pagine per&lt;/p&gt; &lt;ol&gt; &lt;li&gt;estendere Javascript con concetti tipo namespace, reflection, interfacce, and so on...&lt;/li&gt; &lt;li&gt;fornire un'infrastruttura per rendere quanto più possibile cross-browser il codice prodotto.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Esempio banale è la funzione &lt;a href="http://asp.net/AJAX/Documentation/Live/ClientReference/Global/GetShortCutMethod.aspx"&gt;$get&lt;/a&gt;, che ci permette di recuperare un'istanza di un elemento del DOM dato il suo id:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:319a4968-d21e-42ae-89f6-b9c82abcb6e2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;background-color:#EEEEEE;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #999999;"&gt;1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; $get(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;myElementId&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;che non è nulla di trascendentale fintanto che la si usa per sostituire&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:a88af63c-faa9-42f5-8d56-ccf5939a6889" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;background-color:#EEEEEE;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #999999;"&gt;1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; document.getElementById(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;myElementId&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ma che ad esempio diviene particolarmente comoda quando se ne usa l'overload&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:7531e7e9-4769-4f3b-a980-7ffd0bd35cb3" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;background-color:#EEEEEE;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #999999;"&gt;1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; $get(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;myElementId&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;parentElementId&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;che ci permette di recuperare un element ispezionando solo un particolare ramo del DOM.&lt;/p&gt;
&lt;p&gt;Altra chicca, per quanto mi riguarda, è il metodo &lt;a href="http://asp.net/AJAX/Documentation/Live/ClientReference/Global/AddHandlerShortcutMethod.aspx"&gt;$addHandler&lt;/a&gt;; il nome dice già tutto sulla funzionalità che implementa, ossia aggiungere un gestore ad un evento di un element, ma l'enorme vantaggio sta nel rendere cross-browser la signature e la logica dei gestori stessi:&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:9deed1c2-1674-4925-ae19-af27d93e38b5" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;background-color:#EEEEEE;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #999999;"&gt;1&lt;/span&gt; &lt;span style="color: #000000;"&gt;$addHandler(myInput, &lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;keypress&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, _myInputKeyPressHandler);
&lt;/span&gt;&lt;span style="color: #999999;"&gt;2&lt;/span&gt; &lt;span style="color: #000000;"&gt;
&lt;/span&gt;&lt;span style="color: #999999;"&gt;3&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; _myInputKeyPressHandler(args)
&lt;/span&gt;&lt;span style="color: #999999;"&gt;4&lt;/span&gt; &lt;span style="color: #000000;"&gt;{
&lt;/span&gt;&lt;span style="color: #999999;"&gt;5&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; ....&lt;/span&gt;&lt;span style="color: #008000;"&gt;
&lt;/span&gt;&lt;span style="color: #999999;"&gt;6&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Quel parametro args è di tipo &lt;a href="http://asp.net/AJAX/Documentation/Live/ClientReference/Sys.UI/DomEventClass/default.aspx"&gt;Sys.UI.DomEvent&lt;/a&gt; ed interrogandone il field "charCode", ad esempio, si potrà risalire al tasto premuto dall'utente, a prescindere dal fatto che questi stia utilizzando , IE, Firefox, Opera, ecc.ecc.ecc.&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1106aa24-f772-46a5-8762-78712fa38925" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/89936.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/11/26/asp.net-ajax-get-e-addhandler.aspx</guid>
            <pubDate>Mon, 26 Nov 2007 15:37:02 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/11/26/asp.net-ajax-get-e-addhandler.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/89936.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>