<?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.carnould.com &#187; Asp.Net</title>
	<atom:link href="http://blog.carnould.com/tag/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.carnould.com</link>
	<description>Développeur Asp.Net</description>
	<lastBuildDate>Fri, 03 Feb 2012 02:19:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Comment créer un CustomValidator avec validation Serveur et Client en ASP.net MVC 3?</title>
		<link>http://blog.carnould.com/2012/01/comment-creer-un-customvalidator-avec-validation-serveur-et-client-en-asp-net-mvc-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-creer-un-customvalidator-avec-validation-serveur-et-client-en-asp-net-mvc-3</link>
		<comments>http://blog.carnould.com/2012/01/comment-creer-un-customvalidator-avec-validation-serveur-et-client-en-asp-net-mvc-3/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 13:59:47 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Tutoriel]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=700</guid>
		<description><![CDATA[<p>Dans ce tutoriel, nous allons voir comment créer un <i>CustomValidator</i> avec validation Serveur et Client en ASP.Net MVC 3.</p>
<p>Le <i>CustomValidator</i> vérifiera que la valeur saisie est égale à 'Test'.</p>

<h2>Le validateur</h2>
<p>Tout d'abord créer un dossier <i>Validations</i> dans votre solution et ajoutez-y le fichier suivant: <i>MyValidatorAttribute.cs</i>.</p>
<p>Notre nouvelle classe héritera de <i>ValidationAttribute</i> et <i>IClientValidatable</i>.</p>
<p><b>Note</b>: La validation client utilise les nouvelles normes de validation HTML5, les noms doivent donc être en minuscule.</p>
<pre lang="csharp">
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace MvcApplication3.Validations
{
    public class MyValidatorAttribute : ValidationAttribute, IClientValidatable
    {
        /// <summary>
        /// Propriété publique contenant la chaîne de Caractère à comparer
        /// </summary>
        public string StringToCompare { get; set; }

        /// <summary>
        /// Constructeur
        /// </summary>
        public MyValidatorAttribute()
        {

        }

        /// <summary>
        /// Validation serveur
        /// </summary>
        /// <param name="value">Valeur à comparer</param>
        /// <returns>Un booléen contenant le résultat de la comparaison de Value et StringToCompare</returns>
        public override bool IsValid(object value)
        {
            return (string)value == this.StringToCompare;
        }

        /// <summary>
        /// Client Validation
        /// </summary>
        /// <param name="metadata">The model metadata</param>
        /// <param name="context">The controller context</param>
        /// <returns></returns>
        public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            var rule = new ModelClientValidationRule()
                           {
                               ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()), 
                               ValidationType = "myvalidator"
                           };
            rule.ValidationParameters.Add("stringtocompare", this.StringToCompare);

            yield return rule;
        }
    }
}
</pre>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2012/01/comment-creer-un-customvalidator-avec-validation-serveur-et-client-en-asp-net-mvc-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment uploader un ou plusieurs fichier(s) avec ASP.Net MVC 3?</title>
		<link>http://blog.carnould.com/2012/01/comment-uploader-un-ou-plusieurs-fichier-s-avec-asp-net-mvc-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-uploader-un-ou-plusieurs-fichier-s-avec-asp-net-mvc-3</link>
		<comments>http://blog.carnould.com/2012/01/comment-uploader-un-ou-plusieurs-fichier-s-avec-asp-net-mvc-3/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 16:23:40 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Tutoriel]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=691</guid>
		<description><![CDATA[<p>Dans cet article nous allons voir comment uploader un ou plusieurs fichiers avec MVC3.</p>
<h2>Cas pour uploader un fichier</h2>
<h3>Modèle </h3>
<p>Notre modèle contiendra un nom et un fichier.</p>
<pre lang="csharp">
    public class FileUplaodModel
    {
        [Required]
        [Display(Name = "User name")]
        public string UserName { get; set; }

        [Required]
        [Display(Name = "File")]
        public HttpPostedFileBase File { get; set; }
    }
</pre>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2012/01/comment-uploader-un-ou-plusieurs-fichier-s-avec-asp-net-mvc-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment créer une CacheDependency sur plusieurs fichiers</title>
		<link>http://blog.carnould.com/2011/03/comment-creer-une-cachecependency-sur-plusieurs-fichiers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-creer-une-cachecependency-sur-plusieurs-fichiers</link>
		<comments>http://blog.carnould.com/2011/03/comment-creer-une-cachecependency-sur-plusieurs-fichiers/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 18:02:14 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Astuces]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=569</guid>
		<description><![CDATA[<p>Petite astuce rapide que je viens de découvrir et qui est peu documentée sur le net, la possibilité d'ajouter une variable dans la cache avec une dépendance sur plusieurs fichiers.</p>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2011/03/comment-creer-une-cachecependency-sur-plusieurs-fichiers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comment générer un Sitemap XML à la volée</title>
		<link>http://blog.carnould.com/2010/11/comment-generer-un-sitemap-xml-a-la-volee/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-generer-un-sitemap-xml-a-la-volee</link>
		<comments>http://blog.carnould.com/2010/11/comment-generer-un-sitemap-xml-a-la-volee/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 21:12:17 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Astuces]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=416</guid>
		<description><![CDATA[<p>Je viens de créer un nouveau site web ASP.Net, j'aimerai que toutes les pages de mon site soient correctement référencées par Google.</p>
<p>Dans cet article nous allons voir comment Sitemaps.net permet de générer à la volée le sitemap XML directement à partir du web.sitemap.</p>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2010/11/comment-generer-un-sitemap-xml-a-la-volee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment gérer une table sans numéro auto avec LINQ</title>
		<link>http://blog.carnould.com/2010/11/comment-gerer-une-table-sans-numero-auto-avec-linq/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-gerer-une-table-sans-numero-auto-avec-linq</link>
		<comments>http://blog.carnould.com/2010/11/comment-gerer-une-table-sans-numero-auto-avec-linq/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 18:35:13 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Linq]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=387</guid>
		<description><![CDATA[<p>Imaginez la table Contact n'ayant pas de numéro automatique comme clé primaire. Au moment de l'insertion avec LinQ, comment faire pour que tout se déroule correctement?.</p>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2010/11/comment-gerer-une-table-sans-numero-auto-avec-linq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment gérer les exceptions en Asp.net</title>
		<link>http://blog.carnould.com/2010/05/comment-gerer-les-exceptions-en-asp-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-gerer-les-exceptions-en-asp-net</link>
		<comments>http://blog.carnould.com/2010/05/comment-gerer-les-exceptions-en-asp-net/#comments</comments>
		<pubDate>Thu, 27 May 2010 17:31:54 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Astuces]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=340</guid>
		<description><![CDATA[<p>Quand on met son site en ligne, on a parfois des erreurs qu'on n'a pas su gérer, ce qu'on appelle une exception, par exemple la base de données qui ne répond pas.</p>
<p>Pour comprendre comment elles ont eu lieu, il faut pouvoir logguer ces exceptions.</p>
<p>Dans cet article on verra comment s'y prendre.</p>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2010/05/comment-gerer-les-exceptions-en-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment gérer plusieurs web.config facilement?</title>
		<link>http://blog.carnould.com/2010/04/comment-gerer-plusieurs-web-config-facilement/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comment-gerer-plusieurs-web-config-facilement</link>
		<comments>http://blog.carnould.com/2010/04/comment-gerer-plusieurs-web-config-facilement/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 17:19:57 +0000</pubDate>
		<dc:creator>ranouf</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[Astuces]]></category>

		<guid isPermaLink="false">http://blog.carnould.com/?p=301</guid>
		<description><![CDATA[<p>Quand on développe des sites internet on a souvent des configurations différentes. Il devient vite difficile de s'y retrouver. Pour me faciliter la vie j'ai trouvé une solution simple et efficace qui ne demande l'installation d'aucun add-on supplémentaire.</p>]]></description>
		<wfw:commentRss>http://blog.carnould.com/2010/04/comment-gerer-plusieurs-web-config-facilement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

