<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Philippe Vialatte &#187; Ajax</title>
	<atom:link href="https://blog.developpez.com/philippe/pcategory/net/asp-net/ajax/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/philippe</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jan 2014 15:12:09 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Petite question Asp.NET Ajax</title>
		<link>https://blog.developpez.com/philippe/p8957/net/asp-net/petite_question_asp_net_ajax</link>
		<comments>https://blog.developpez.com/philippe/p8957/net/asp-net/petite_question_asp_net_ajax#comments</comments>
		<pubDate>Wed, 02 Jun 2010 10:03:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Allez, un petit quizz pour la route. Lorsque je clique sur un lien donné de ma page Web, j&#8217;ai l&#8217;erreur suivante : Le vrai problème se règle en trois coup de cuillère à pot, mais pourquoi ce message incongru ? Et surtout, comment remonter à la source du problème ? (En à peu prés autant de temps qu&#8217;il en faut pour écrire ce post )]]></description>
				<content:encoded><![CDATA[<p>Allez, un petit quizz pour la route.</p>
<p>Lorsque je clique sur un lien donné de ma page Web, j&rsquo;ai l&rsquo;erreur suivante :</p>
<p><a href="http://blog.developpez.com/media/266/WindowsLiveWriter/PetitequestionAsp.NETAjax_E1F0/errorAjax_2.gif"><img title="errorAjax" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="206" alt="errorAjax" src="http://blog.developpez.com/media/266/WindowsLiveWriter/PetitequestionAsp.NETAjax_E1F0/errorAjax_thumb.gif" width="443" border="0" /></a> </p>
<p>Le vrai problème se règle en trois coup de cuillère à pot, mais pourquoi ce message incongru ?</p>
<p>Et surtout, comment remonter à la source du problème ?</p>
<p>(En à peu prés autant de temps qu&rsquo;il en faut pour écrire ce post <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> )</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adieu ASP.NET Ajax Library</title>
		<link>https://blog.developpez.com/philippe/p8897/net/asp-net/adieu_asp_net_ajax_library</link>
		<comments>https://blog.developpez.com/philippe/p8897/net/asp-net/adieu_asp_net_ajax_library#comments</comments>
		<pubDate>Mon, 03 May 2010 16:06:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Une des briques logicielles du framework ne sera désormais plus développée, à savoir la bibliothèque de scripts ASP.NET Ajax. Pour rappel, cette bibliothèque était un ensemble de scripts coté client, permettant de faire (indépendamment du Framework .NET, hein, ca marchait idem avec PHP ou du HTML pur) un certain nombre de choses sympathiques, comme d&#8217;avoir des possibilités de faire du binding et des templates coté client. Pour faire court, toute l&#8217;équipe à changé son fusil [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Une des briques logicielles du framework ne sera désormais plus développée, à savoir la bibliothèque de scripts ASP.NET Ajax.</p>
<p>Pour rappel, cette bibliothèque était un ensemble de scripts coté client, permettant de faire (indépendamment du Framework .NET, hein, ca marchait idem avec PHP ou du HTML pur) un certain nombre de choses sympathiques, comme d&rsquo;avoir des possibilités de faire du binding et des templates coté client.</p>
<p>Pour faire court, toute l&rsquo;équipe à changé son fusil d&rsquo;épaule, et prévoit désormais de contribuer à JQuery <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Deux fonctionnalités sont en cours de proposition :</p>
<p><a title="http://forum.jquery.com/topic/jquery-templates-proposal" href="http://forum.jquery.com/topic/jquery-templates-proposal">http://forum.jquery.com/topic/jquery-templates-proposal</a></p>
<p><a title="http://forum.jquery.com/topic/proposal-for-adding-data-linking-to-jquery" href="http://forum.jquery.com/topic/proposal-for-adding-data-linking-to-jquery">http://forum.jquery.com/topic/proposal-for-adding-data-linking-to-jquery</a></p>
<p>Ce qui est intéressant à noter, c&rsquo;est que, Microsoft à une équipe payée à contribuer à un projet Open source initié en dehors de Microsoft (qui à dit quand les cochons voleront ?)</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Du changement coté ASP.NET Ajax</title>
		<link>https://blog.developpez.com/philippe/p8371/net/asp-net/du_changement_cote_asp_net_ajax</link>
		<comments>https://blog.developpez.com/philippe/p8371/net/asp-net/du_changement_cote_asp_net_ajax#comments</comments>
		<pubDate>Wed, 18 Nov 2009 23:02:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Dans la liste des articles en cours d&#8217;écriture, il y&#8217;en avait un qui me donnait bien du souci. L&#8217;article en question, c&#8217;était celui sur la Microsoft Ajax Library, anciennement appelée ASP.NET Ajax. Difficile de trouver des sources, peu d&#8217;informations claires, pas de roadmap disponible.   Surprise, aujourd&#8217;hui, une annonce est parue sur le site de la fondation codeplex : The CodePlex Foundation today announced the creation of the first Foundation project gallery, the ASP.NET Open [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dans la liste des articles en cours d&rsquo;écriture, il y&rsquo;en avait un qui me donnait bien du souci.</p>
<p>L&rsquo;article en question, c&rsquo;était celui sur la Microsoft Ajax Library, anciennement appelée ASP.NET Ajax.</p>
<p>Difficile de trouver des sources, peu d&rsquo;informations claires, pas de roadmap disponible.</p>
<p> </p>
<p>Surprise, aujourd&rsquo;hui, une annonce est parue sur le site de la <a href="http://www.codeplex.org">fondation codeplex</a> :</p>
<p><em>The CodePlex Foundation today announced the creation of the first Foundation project gallery, the ASP.NET Open Source Gallery, and the acceptance of the first project into that gallery, the </em><a href="http://ajax.codeplex.com"><em>ASP.NET Ajax Library project</em></a><em>. The gallery and project were evaluated for acceptance using the Foundation&rsquo;s </em><a href="http://www.codeplex.org/docs/CPF_Project_Acceptance_and_Operation-DRAFT.pdf"><em>Project Acceptance and Operation Guidelines</em></a><em>, first published October 21, 2009. The gallery and project are supported by Microsoft, the Foundation&rsquo;s founding sponsor.</em></p>
<p>En lisant cette annonce de Microsoft, je me suis rendu compte que la bibliothèque avait encore changée de nom (renommage de <a href="http://aspnet.codeplex.com/wikipage?title=AJAX&amp;version=41">Microsoft Ajax Library</a> en <a href="http://aspnet.codeplex.com/wikipage?title=AJAX">ASP.NET Ajax Library</a>), de scope (inclusion du control toolkit) et de licence (passage de MS-PL à BSD)</p>
<p> </p>
<p>En plus, dans la foulée, un tout nouveau site vient de voir le jour, à l&rsquo;adresse suivante :</p>
<p><a title="http://www.asp.net/ajaxlibrary/" href="http://www.asp.net/ajaxlibrary/">http://www.asp.net/ajaxlibrary/</a></p>
<p> </p>
<p>Entre autres, les exemples du site montrent bien que désormais, la bibliothèque est agnostique, et marche potentiellement avec n&rsquo;importe quoi derrière.</p>
<p>.et bah y&rsquo;a plus qu&rsquo;à tout lire <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xVal entre en version 1.0</title>
		<link>https://blog.developpez.com/philippe/p8077/net/xval_entre_en_version_1_0</link>
		<comments>https://blog.developpez.com/philippe/p8077/net/xval_entre_en_version_1_0#comments</comments>
		<pubDate>Fri, 18 Sep 2009 07:36:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[La validation des entrées utilisateurs est souvent une prise de tête non négligeable, entre : la définition de l&#8217;endroit ou on mets les règles (centralisées ou pas) le choix du framework de validation coté serveur le choix du framework coté client la localisation On se retrouve a réécrire plus ou moins la roue pour chaque projet&#8230; Le but de xVal est justement de fournir une bibliothèque qui aide a mettre en place facilement la validation [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La validation des entrées utilisateurs est souvent une prise de tête non négligeable, entre :</p>
<ul>
<li>la définition de l&rsquo;endroit ou on mets les règles (centralisées ou pas) </li>
<li>le choix du framework de validation coté serveur </li>
<li>le choix du framework coté client </li>
<li>la localisation </li>
</ul>
<p>On se retrouve a réécrire plus ou moins la roue pour chaque projet&#8230;</p>
<p>Le but de xVal est justement de fournir une bibliothèque qui aide a mettre en place facilement la validation sur les applications MVC.</p>
<p><a href="http://xval.codeplex.com/"><img title="xval" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" alt="xval" src="http://philippe.ftp-developpez.com/blog/xValentreenversion1.0_9534/xval.png" border="0" /></a> </p>
<p>xVal gère, en natif, les annotations de Castle et le namespace DataAnnotations, cote serveur, et, cote client, JQuery et la validation Asp.net native.</p>
<p>Oui, vous me direz, mais ca ne marche qu&rsquo;avec MVC&#8230;et bah non, pas depuis qu&rsquo;un développeur (<a href="http://john.rummell.info/john/blog/">John Rummel</a>) à lancé le projet xVal for Webforms <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p><a title="http://xval.codeplex.com" href="http://xval.codeplex.com/">http://xval.codeplex.com/</a></p>
<p><a title="http://xvalwebforms.codeplex.com/" href="http://xvalwebforms.codeplex.com/">http://xvalwebforms.codeplex.com/</a></p>
<p>Définitivement à tester</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;auto-complétion avec JQuery + un petit bug</title>
		<link>https://blog.developpez.com/philippe/p7953/net/autocompletion_avec_jquery</link>
		<comments>https://blog.developpez.com/philippe/p7953/net/autocompletion_avec_jquery#comments</comments>
		<pubDate>Fri, 14 Aug 2009 13:24:58 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Depuis les deux derniers mois, des que je dois faire du JavaScript, tout passe par JQuery. &#8230;déjà, parce que je n&#8217;aime pas me taper des document.getElementById de partout dans mon code quand un $ suffit, mais aussi pour les nombreux plug-ins disponibles, qui permettent pas mal de chose de façon plus légère que le Framework MS Ajax. Récemment, pour un projet, il a fallu ajouter une auto-complétion a un champ, et un stockage de l&#8217;Id [&#8230;]]]></description>
				<content:encoded><![CDATA[<table cellspacing="0" cellpadding="2" width="90%" border="0">
<tbody>
<tr>
<td valign="top" width="100%">
<p>Depuis les deux derniers mois, des que je dois faire du JavaScript, tout passe par JQuery.</p>
<p>&#8230;déjà, parce que je n&rsquo;aime pas me taper des document.getElementById de partout dans mon code quand un $ suffit, mais aussi pour les nombreux plug-ins disponibles, qui permettent pas mal de chose de façon plus légère que le Framework MS Ajax.</p>
</td>
<td valign="top" width="51"><a href="http://jquery.com/"><img title="jquery" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="86" alt="jquery" src="http://philippe.ftp-developpez.com/blog/LautocompltionavecJQueryunpetitbug_AE3D/jquery.jpg" width="275" border="0" /></a> </td>
</tr>
</tbody>
</table>
<p>Récemment, pour un projet, il a fallu ajouter une auto-complétion a un champ, et un stockage de l&rsquo;Id dans un champ caché. </p>
<p><span id="more-187"></span></p>
<p>Pour ca, avec JQuery, il suffit de faire, dans le fichier .aspx :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font color="#0000ff"><font color="#800000"><font color="#0000ff">&lt;</font>script</font><font color="#000000">&#160;</font><font color="#ff0000">type</font><font color="#0000ff">=&quot;text/javascript&quot;&gt;&#160; <br /></font><font color="#000000">&#160;&#160;&#160; </font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0080c0">document</font><font color="#000000">).</font><font color="#0080c0">ready</font><font color="#000000">(</font><font color="#000096">function</font><font color="#000000">() {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=tbUser.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">autocomplete</font><font color="#000000">(</font><font color="#0000ff">&quot;ComboUserService.aspx&quot;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">matchCase</font><font color="#000096">:true,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">selectOnly</font><font color="#000096">:</font><font color="#ff0000">1</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">minChars</font><font color="#000096">:</font><font color="#ff0000">2</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">lineSeparator</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#0000ff">&lsquo;\n&rsquo;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">cellSeparator</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#0000ff">&lsquo;|&rsquo;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">autoFill</font><font color="#000096">:false,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">onItemSelect</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#000096">function</font><font color="#000000">(</font><font color="#0080c0">li</font><font color="#000000">) {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">if</font><font color="#000000"> (</font><font color="#0080c0">li</font><font color="#000000">.</font><font color="#0080c0">extra</font><font color="#000000">) {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=hidUserUID.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">val</font><font color="#000000">(</font><font color="#0080c0">li</font><font color="#000000">.</font><font color="#0080c0">extra</font><font color="#000000">&lt;</font><font color="#ff0000">0</font><font color="#000000">&gt;);<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; }); </p>
<p>&#160;&#160;&#160; });&#160;&#160;&#160;&#160; <br /></font><font color="#0000ff">&lt;/</font><font color="#800000">script&gt;</font> </p>
<p><font color="#800000"><font color="#0000ff">&lt;</font>div</font>&gt; </p>
<p><font color="#800000"><font color="#0000ff">&lt;</font>asp</font><font color="#0000ff">:</font><font color="#800000">TextBox</font><font color="#000000">&#160;</font><font color="#ff0000">ID</font><font color="#0000ff">=&quot;tbUser&quot;</font><font color="#000000">&#160;</font><font color="#ff0000">runat</font><font color="#0000ff">=&quot;server&quot;</font><font color="#000000">&#160;</font><font color="#ff0000">SkinID</font><font color="#0000ff">=&quot;UsualTextBox&quot;&gt;&lt;/</font><font color="#800000">asp</font><font color="#0000ff">:</font><font color="#800000">TextBox</font>&gt; </p>
<p><font color="#800000"><font color="#0000ff">&lt;</font>asp</font><font color="#0000ff">:</font><font color="#800000">HiddenField</font><font color="#000000">&#160;</font><font color="#ff0000">ID</font><font color="#0000ff">=&quot;hidUserUID&quot;</font><font color="#000000">&#160;</font><font color="#ff0000">runat</font><font color="#0000ff">=&quot;server&quot;</font><font color="#000000">&#160;</font><font color="#0000ff">/&gt;<br />
          <br />&lt;/</font><font color="#800000">div</font><font color="#0000ff">&gt;</font></font></font> </div>
</div>
<p>NB : le $(&quot;#&lt;%= tbUser.ClientID %&gt;&quot;), ca veut dire, écrit l&rsquo;id cote client de tbUser, de façon a ce que je puisse utiliser le sélecteur # de JQuery, qui sélectionne un élément du DOM par son ID ;), $ est l&rsquo;alias de la classe JQuery. Pour plus d&rsquo;infos, une introduction peut être trouvée <a href="http://pckult.developpez.com/tutoriels/javascript/frameworks/jquery/introduction/">ici</a></p>
<p>Ensuite, il faut ajouter dans le répertoire App_Code un fichier AjaxHandler du genre :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc">
<p><font face=" Consolas"><font size="2"></font><font color="#000096"><span>public</span><font color="#000000">&#160;</font><font color="#000096">class</font><font color="#000000">&#160;</font><font color="#800000">AjaxHandler</font><font color="#000000"> : </font><font color="#800080">IHttpHandler</font><font color="#000000"> { </p>
<p>&#160;&#160;&#160; </font><font color="#000096">public</font><font color="#000000">&#160;</font><font color="#000096">string</font><font color="#000000">&#160;</font><font color="#0080c0">_inputValue</font><font color="#000000">;</font></font></font></p>
<p><font face=" Consolas"><span><font color="#000000"><br />
            <br />&#160;&#160;&#160; </font><font color="#000096">public</font><font color="#000000">&#160;</font><font color="#000096">void</font><font color="#000000">&#160;</font><font color="#0080c0">ProcessRequest</font><font color="#000000">(</font><font color="#800000">HttpContext</font><font color="#000000">&#160;</font><font color="#0080c0">context</font><font color="#000000">) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">context</font><font color="#000096">.</font><font color="#0080c0">Response</font><font color="#000096">.</font><font color="#0080c0">Cache</font><font color="#000096">.</font><font color="#0080c0">SetCacheability</font><font color="#000000">(</font><font color="#800000">HttpCacheability</font><font color="#000096">.</font><font color="#0080c0">NoCache</font><font color="#000000">);<br />
            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">context</font><font color="#000096">.</font><font color="#0080c0">Response</font><font color="#000096">.</font><font color="#0080c0">ContentType</font><font color="#000000">&#160;</font><font color="#000096">=</font><font color="#000000">&#160;</font><font color="#0000ff">&quot;text/plain&quot;</font><font color="#000000">; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">_inputValue</font><font color="#000000">&#160;</font><font color="#000096">=</font><font color="#000000">&#160;</font><font color="#0080c0">context</font><font color="#000096">.</font><font color="#0080c0">Request</font><font color="#000096">.</font><font color="#0080c0">QueryString</font><font color="#000000">&lt;</font><font color="#0000ff">&quot;q&quot;</font><font color="#000000">&gt;; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">string</font><font color="#000000">&#160;</font><font color="#0080c0">result</font><font color="#000000">&#160;</font><font color="#000096">=</font><font color="#000000">&#160;</font><font color="#800000">ObjectFactory</font><font color="#000096">.</font><font color="#0080c0">GetInstance</font><font color="#000096">&lt;</font><font color="#800080">IUserService</font><font color="#000096">&gt;</font><font color="#000000">()<br />
            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">.</font><font color="#0080c0">GetUsersForAutocompletion</font><font color="#000000">(</font><font color="#0080c0">_inputValue</font><font color="#000000">);<br />
            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">context</font><font color="#000096">.</font><font color="#0080c0">Response</font><font color="#000096">.</font><font color="#0080c0">Write</font><font color="#000000">(</font><font color="#0080c0">result</font><font color="#000000">);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160; </font><font color="#000096">public</font><font color="#000000">&#160;</font><font color="#000096">bool</font><font color="#000000">&#160;</font><font color="#0080c0">IsReusable</font><font color="#000000"> {<br />
            <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">get</font><font color="#000000"> { </font><font color="#000096">return</font><font color="#000000">&#160;</font><font color="#000096">false</font><font color="#000000">; }<br />
            <br />&#160;&#160;&#160; } </p>
<p>}</font></span></font> </p>
</p></div>
</div>
<p>Avec, dans le web.config, une configuration du AjaxHandler du genre:</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font color="#0000ff"><span>&lt;</span><font color="#800000">add</font><font color="#0000ff">&#160;</font><font color="#ff0000">verb</font><font color="#0000ff">=</font><font color="#000000">&quot;</font><font color="#0000ff">GET</font><font color="#000000">&quot;</font><font color="#0000ff">&#160;</font><font color="#ff0000">path</font><font color="#0000ff">=</font><font color="#000000">&quot;</font><font color="#0000ff">AjaxHandler.aspx</font><font color="#000000">&quot;</font><font color="#0000ff">&#160;</font><font color="#ff0000">type</font><font color="#0000ff">=</font><font color="#000000">&quot;</font><font color="#0000ff">AjaxHandler</font><font color="#000000">&quot;</font><font color="#0000ff">/&gt;</font></font></font> </div>
</div>
<p>Et du coup, si ma méthode GetUsersForAutocompletion renvoie un résultat au format :</p>
<p>User1|Id1;User2|Id2;&#8230;;User3|Id3</p>
<p>J&rsquo;obtiens une jolie auto complétion en, quoi, dix minutes de travail et en ajoutant juste 30ko de JavaScript pour la bibliothèque de JQuery et trois fois rien pour les échanges Ajax&#8230;en théorie&#8230;</p>
<p>Pourquoi en théorie ? Parce que si j&rsquo;initialise le champ dans le code-behind, des que j&rsquo;attache l&rsquo;auto complétion a mon textbox, ce même textbox est vide&#8230;moyen, l&rsquo;effet, pour le client <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>Moralité, plutôt que de chercher une solution propre (mais promis, chercher la solution propre, c&rsquo;est pour &quot;dés qu&rsquo;il n&rsquo;y a plus le feu), le code a été remanié comme ca :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"><span>&#160;&#160;&#160; </span><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0080c0">document</font><font color="#000000">).</font><font color="#0080c0">ready</font><font color="#000000">(</font><font color="#000096">function</font><font color="#000000">() {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">var</font><font color="#000000">&#160;</font><font color="#0080c0">tmp</font><font color="#000000">&#160;</font><font color="#000096">=</font><font color="#000000">&#160;</font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=tbUser.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">val</font><font color="#000000">();<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=tbUser.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">autocomplete</font><font color="#000000">(</font><font color="#0000ff">&quot;ComboUserService.aspx&quot;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">matchCase</font><font color="#000096">:true,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">selectOnly</font><font color="#000096">:</font><font color="#ff0000">1</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">lineSeparator</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#0000ff">&lsquo;\n&rsquo;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">cellSeparator</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#0000ff">&lsquo;|&rsquo;</font><font color="#000096">,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">autoFill</font><font color="#000096">:false,<br />
          <br /></font><font color="#000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">onItemSelect</font><font color="#000096">:</font><font color="#000000">&#160;</font><font color="#000096">function</font><font color="#000000">(</font><font color="#0080c0">li</font><font color="#000000">) {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">if</font><font color="#000000"> (</font><font color="#0080c0">li</font><font color="#000000">.</font><font color="#0080c0">extra</font><font color="#000000">) {<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=hidUserUID.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">val</font><font color="#000000">(</font><font color="#0080c0">li</font><font color="#000000">.</font><font color="#0080c0">extra</font><font color="#000000">[</font><font color="#ff0000">0</font><font color="#000000">]);<br />
          <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; });</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font color="#000096">var</font><font color="#000000">&#160;</font><font color="#0080c0">tmp</font><font color="#000000">&#160;</font><font color="#000096">=</font><font color="#000000">&#160;</font><font color="#0080c0">$</font><font color="#000000">(</font><font color="#0000ff">&quot;#&lt;%=tbUser.ClientID%&gt;&quot;</font><font color="#000000">).</font><font color="#0080c0">val</font><font color="#000000">();<br />
          <br />&#160;&#160;&#160; });</font></font></font> </div>
</div>
<p>Et depuis, tout marche bien :D..ceci dit, si quelqu&rsquo;un a une idée de l&rsquo;origine du problème, ca m&rsquo;aiderait bien (d&rsquo;autant qu&rsquo;en dehors de ca, JQuery, c&rsquo;est le panard)</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un ensemble de “cheat sheets”</title>
		<link>https://blog.developpez.com/philippe/p7920/net/un_ensemble_de_aldquo_cheat_sheetsardquo</link>
		<comments>https://blog.developpez.com/philippe/p7920/net/un_ensemble_de_aldquo_cheat_sheetsardquo#comments</comments>
		<pubDate>Fri, 31 Jul 2009 21:05:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai eu, ces dernier temps, à chercher plein d&#8217;infos sur plein de sujets différents. Ce faisant, je suis tombé sur un certain nombre de cheat sheets (littéralement, feuilles de triches), à savoir des aides mémoires (qui à dit des antisèches;) ) sur des sujets spécifiques. Dans la foulée, je me suis dit, autant les compiler. Alors les voila : LINQ Standard Query Operators JQuery Javascript (méthodes, fonctions, XmlHttpRequest et evenements, la totale.) Cycle de vie [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai eu, ces dernier temps, à chercher plein d&rsquo;infos sur plein de sujets différents.</p>
<p>Ce faisant, je suis tombé sur un certain nombre de cheat sheets (littéralement, feuilles de triches), à savoir des aides mémoires (qui à dit des antisèches;) ) sur des sujets spécifiques.</p>
<p>Dans la foulée, je me suis dit, autant les compiler. Alors les voila :</p>
<p><a title="http://aspnetresources.com/blog/linq_sqo__cheat_sheet.aspx" href="http://aspnetresources.com/blog/linq_sqo__cheat_sheet.aspx" target="_blank">LINQ Standard Query Operators</a></p>
<p><a title="http://www.javascripttoolbox.com/jquery/cheatsheet/" href="http://www.javascripttoolbox.com/jquery/cheatsheet/">JQuery</a></p>
<p><a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/">Javascript</a> (méthodes, fonctions, XmlHttpRequest et evenements, la totale.)</p>
<p><a href="http://blog.krisvandermast.com/ASPNET20PageLifeCycle.aspx">Cycle de vie des pages ASP.Net</a></p>
<p><a href="http://aspnetresources.com/blog/ms_ajax_cheat_sheets_batch2.aspx">Microsoft AJAX</a></p>
<p><a href="http://aspalliance.com/625">Comparaison des syntaxes VB.Net/C#</a></p>
<p><a href="http://apparchguide.codeplex.com/Wiki/View.aspx?title=Cheat%20Sheet%20-%20Presentation%20Technology%20Matrix&amp;referringTitle=Home">Comparaison des technologies de présentation</a></p>
<p><a href="http://www.sadev.co.za/content/adonet-data-services-cheat-sheet">ADO.Net Data Services</a></p>
<p> </p>
<p>Et, pour ceux qui en voudraient ni orientées web et .Net, de bonnes sources d&rsquo;info :</p>
<ul>
<li><a title="http://refcardz.dzone.com/" href="http://refcardz.dzone.com/">http://refcardz.dzone.com/</a> : Généraliste, et très bien faites</li>
<li><a title="http://whatis.techtarget.com/definition/0,,sid9_gci826135,00.html" href="http://whatis.techtarget.com/definition/0,,sid9_gci826135,00.html">http://whatis.techtarget.com/definition/0,,sid9_gci826135,00.html</a> : de tout, pour tout le monde, de qualité variable</li>
<li></li>
</ul>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouvelle version d&#8217;Ajax Control Toolkit</title>
		<link>https://blog.developpez.com/philippe/p7593/net/nouvelle_version_d_ajax_control_toolkit</link>
		<comments>https://blog.developpez.com/philippe/p7593/net/nouvelle_version_d_ajax_control_toolkit#comments</comments>
		<pubDate>Thu, 14 May 2009 06:31:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hier est sortie la dernière version de la collection de contrôles pour le Framework Ajax de Microsoft. En dehors des corrections de bugs, cette version apporte trois nouveaux contrôles, a savoir HTMLEditor, qui est un éditeur HTML (qui a été contribue par Obout, en plus, la boite qui édite les contrôles que j&#8217;utilise en ce moment), une ComboBox a la mode Winform, et un ColorPicker http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326 Attention, cette version n&#8217;est compatible qu&#8217;avec le Framework 3.5 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Hier est sortie la dernière version de la collection de contrôles pour le Framework Ajax de Microsoft.</p>
<p>En dehors des corrections de bugs, cette version apporte trois nouveaux contrôles, a savoir HTMLEditor, qui est un éditeur HTML (qui a été contribue par Obout, en plus, la boite qui édite les contrôles que j&rsquo;utilise en ce moment), une ComboBox a la mode Winform, et un ColorPicker</p>
<p><a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326">http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326</a></p>
<p>Attention, cette version n&rsquo;est compatible qu&rsquo;avec le Framework 3.5 (pauvre de moi&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Ajax] Une nouvelle vague de traductions</title>
		<link>https://blog.developpez.com/philippe/p7689/net/ajax_une_nouvelle_vague_de_traductions</link>
		<comments>https://blog.developpez.com/philippe/p7689/net/ajax_une_nouvelle_vague_de_traductions#comments</comments>
		<pubDate>Tue, 02 Jun 2009 14:05:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Après les traductions de tous les articles concernant le Framework ASP.NET MVC le mois dernier, l&#8217;équipe de rédaction .net de développez remets ca avec, cette fois-ci, la traduction des tutoriels des sites http://www.asp.net/learn/ajax/ et http://www.asp.net/learn/Ajax-Control-Toolkit/ Vous pourrez donc trouver 56 articles (oui, oui, un 5 et un 6) articles couvrant les bases du Framework Ajax, ainsi que tous les contrôles du Toolkit, a l&#8217;adresse suivante : http://dotnet.developpez.com/ajax/ Bonne lecture]]></description>
				<content:encoded><![CDATA[<p>Après les traductions de tous les articles concernant le Framework ASP.NET MVC le mois dernier, l&rsquo;équipe de rédaction .net de développez remets ca avec, cette fois-ci, la traduction des tutoriels des sites <a title="http://www.asp.net/learn/ajax/" href="http://www.asp.net/learn/ajax/">http://www.asp.net/learn/ajax/</a> et <a title="http://www.asp.net/learn/Ajax-Control-Toolkit/" href="http://www.asp.net/learn/Ajax-Control-Toolkit/">http://www.asp.net/learn/Ajax-Control-Toolkit/</a></p>
<p>Vous pourrez donc trouver <strong><u>56</u></strong> articles (oui, oui, un 5 et un 6) articles couvrant les bases du Framework Ajax, ainsi que tous les contrôles du Toolkit, a l&rsquo;adresse suivante :</p>
<p><a href="http://dotnet.developpez.com/ajax/">http://dotnet.developpez.com/ajax/</a></p>
<p>Bonne lecture <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
