<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Avi Pinto</title><link>http://blogs.microsoft.co.il/blogs/pintyo/</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>double scrollbars with "overflow-y: scroll" on IE7 when using cssstickyfooter</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/11/06/double-scrollbars-with-quot-overflow-y-scroll-quot-on-ie7-when-using-cssstickyfooter.aspx</link><pubDate>Sun, 07 Nov 2010 03:12:13 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:738337</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=738337</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=738337</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/11/06/double-scrollbars-with-quot-overflow-y-scroll-quot-on-ie7-when-using-cssstickyfooter.aspx#comments</comments><description>&lt;div style="direction:ltr;" dir="ltr" align="left"&gt;   &lt;p&gt;&lt;em&gt;The Point:&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.cssstickyfooter.com/using-sticky-footer-code.html" target="_blank"&gt;cssstickyfooter&lt;/a&gt; is a great solution for a sticky footer(works even at the crappy IE6).       &lt;br /&gt;Alas, when trying to set &lt;font color="#0000ff"&gt;body{overflow-y: scroll}&lt;/font&gt; you get a double scroll on IE7(which is also pure crap and should die).&lt;/p&gt;    &lt;p&gt;The solution for this one is to set the style on the html: &lt;font color="#0000ff"&gt;html{overflow-y:scroll}&lt;/font&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Some details:&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/pintyo/doubleScroll_5D600E4D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="doubleScroll" border="0" alt="doubleScroll" src="http://blogs.microsoft.co.il/blogs/pintyo/doubleScroll_thumb_2E69E444.png" width="708" height="418" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Abused the &lt;a href="http://www.cssstickyfooter.com/using-sticky-footer-code.html" target="_blank"&gt;cssstickyfooter&lt;/a&gt; site(as it uses it’s technique) to show the double scroll.&lt;/p&gt;    &lt;p&gt;To try it just open it in IE compatibility mode, hit f12 and at the script tab type: &lt;font color="#0000ff"&gt;document.getElementsByTagName(&amp;quot;body&amp;quot;)[0].style.overflow = &amp;quot;scroll&amp;quot;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;I like having a vertical scrollbar on my designs, &lt;/p&gt;    &lt;p&gt;this way if a page is loaded without a scroll and then some action loads data that adds the scroll,&lt;/p&gt;    &lt;p&gt;the page doesn’t “jump” as the scroll is added.&lt;/p&gt;    &lt;p&gt;Usually I add the scroll to the body, but that caused the double scroll on IE7 when I used the &lt;a href="http://www.cssstickyfooter.com/using-sticky-footer-code.html" target="_blank"&gt;cssstickyfooter&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;Didn’t have the time to check why, and most of the pages in my app have a big scroll, &lt;/p&gt;    &lt;p&gt;so left it for later and removed the definition.&lt;/p&gt;    &lt;p&gt;Till saw &lt;a href="http://twitter.com/#!/getify/status/29596794743" target="_blank"&gt;@getify’s confession&lt;/a&gt; which triggered my interest to check this once again, &lt;/p&gt;    &lt;p&gt;the &lt;a href="http://twitter.com/#!/Brodingo/status/29599155414" target="_blank"&gt;answer came from @Brodingo&lt;/a&gt; , feel stupid I haven’t tried it when I encountered the problem.&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;This is one of the things that are great about twitter - one confession can lead to the solution of a long time annoying problem :-)&lt;/p&gt; &lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=738337" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/CSS+IE/default.aspx">CSS IE</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/CSS/default.aspx">CSS</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/scroll/default.aspx">scroll</category></item><item><title>IModelBinder and property key for successful binding at the ModelState + partial form validation</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/10/28/imodelbinder-and-property-key-for-successful-binding-at-the-modelstate-partial-form-validation.aspx</link><pubDate>Thu, 28 Oct 2010 13:41:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:733221</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=733221</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=733221</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/10/28/imodelbinder-and-property-key-for-successful-binding-at-the-modelstate-partial-form-validation.aspx#comments</comments><description>&lt;div style="direction:ltr;" dir="ltr"&gt;   &lt;p align="left"&gt;&lt;em&gt;&lt;font size="1"&gt;I’m talking about asp.net MVC2&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;em&gt;The point:&lt;/em&gt;&lt;/p&gt;    &lt;p align="left"&gt;if you are implementing an IModelBinder for a type, you should add a call to      &lt;br /&gt;&lt;font color="#0000ff"&gt;bindingContext.ModelState.SetModelValue(bindingContext.ModelName, valueFromRequest);&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;this is done to make sure that at your controller action you can access ModelState[&lt;em&gt;nameOfThisProperty&lt;/em&gt;] and &lt;em&gt;nameOfThisProperty&lt;/em&gt;&amp;#160; will be present as a key at ModelState also for successful binding.&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;&lt;em&gt;And for the details: (&amp;#160; Partial form validation including custom modelBinding&amp;#160; for trimming strings)&lt;/em&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;strong&gt;why am I using ModelState[&lt;em&gt;nameOfThisProperty&lt;/em&gt;] ??&lt;/strong&gt;&lt;/p&gt;    &lt;p align="left"&gt;usually you don’t need to access ModelState[&lt;em&gt;nameOfThisProperty&lt;/em&gt;]&amp;#160; like this, it is ugly and stringly typed &lt;img style="border-bottom-style:none;border-right-style:none;border-top-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.microsoft.co.il/blogs/pintyo/wlEmoticon-smile_4DA3FCBF.png" /&gt;&lt;/p&gt;    &lt;p align="left"&gt;but lets say you have a form&amp;#160; that has two options: “save”,”save draft” &lt;/p&gt;    &lt;p align="left"&gt;“save” should&amp;#160; trigger the&amp;#160; entire&amp;#160; form’s validation.&lt;/p&gt;    &lt;p align="left"&gt;”save draft”&amp;#160; should trigger&amp;#160; validation only on a filed named Title.&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;I’m using the DataAnnotations&amp;#160; validation&amp;#160; attributes and no chance in hell that I’m going to create two&amp;#160; separate objects to enforce this validation rules.&lt;/p&gt;    &lt;p align="left"&gt;so I have two separate action methods and at SaveDraft I have this code:&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;public ActionResult SaveDraft(ArticleModel articleModel )&amp;#160; &lt;br /&gt;{&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (ModelState[ArticleModel .ARTICLE_TITLE_FIELD_KEY].Errors.Count &amp;gt; 0)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ModelStateDictionary mDic = new ModelStateDictionary();&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ModelState titleModelState = ModelState[ArticleModel .ARTICLE_TITLE_FIELD_KEY];&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ModelState.Clear();&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //ugly way to preserve this error message if it exists&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ModelState.Add(ArticleModel .ARTICLE_TITLE_FIELD_KEY, titleModelState);&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return View(“New&amp;quot;, articleModel );&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //party with&amp;#160; articleModel&amp;#160; ignoring all other validation errors&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ..&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;At the client side&amp;#160; I have this function(I use jQuery and jQuery validation):&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;function BindSaveDraftButton()        &lt;br /&gt;{         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var jqBtnSave = $(&amp;quot;#btnSaveDraft&amp;quot;);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; jqBtnSave.click(function ()         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var jqTxbTitle = $(&amp;quot;.txbTitle:first&amp;quot;);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (!jqTxbTitle.valid()) //trigger only this field’s validation manually         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jqTxbTitle.focus();         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return false;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //&amp;#160; the button holds the saveDraft action at a specific actionUrl attribute&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // (I know I know I shuld change this to&amp;#160; data-actionUrl        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $(&amp;quot;#formPostArticle&amp;quot;).attr(&amp;quot;action&amp;quot;, $(this).attr(&amp;quot;actionUrl&amp;quot;)); &lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //NOTE: I don’t return anything here so the form will submit as a regular form, just to a different action        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; });         &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;oh.. and the button for&amp;#160; “save draft” has the class “cancel” so it won’t trigger client validations&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;&lt;strong&gt;And the connection to custom ModelBinding??&lt;/strong&gt;&lt;/p&gt;    &lt;p align="left"&gt;Everything was working great(some bits a it ugly, but this is the case for now) till I decided to implement a TrimmedStringModelBinder so all bound strings will be trimmed during binding.&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;public class TrimmedStringModelBinder : IModelBinder&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;{&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160; public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (bindingContext == null)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new ArgumentNullException(&amp;quot;bindingContext&amp;quot;);         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ValueProviderResult valueFromRequest = &lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bindingContext.ValueProvider.GetValue(bindingContext.ModelName);        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font style="background-color:#ffff00;"&gt;bindingContext.ModelState.SetModelValue(bindingContext.ModelName, valueFromRequest);&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (valueFromRequest == null)        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return null;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (!string.IsNullOrEmpty(valueFromRequest.AttemptedValue))         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return valueFromRequest.AttemptedValue.Trim();         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return valueFromRequest.AttemptedValue;&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;registered it as follows at the Global.asax &lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;ModelBinders.Binders.Add(typeof(string), new TrimmedStringModelBinder());&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;Note the row with yellow BG – it was missing&amp;#160; at the first implementation&amp;#160; because I had no idea I need it.&lt;/p&gt;    &lt;p align="left"&gt;without it the check for&amp;#160; - &lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;ModelState[ArticleModel .ARTICLE_TITLE_FIELD_KEY].Errors.Count &lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;threw&amp;#160; an exception since this property was valid(had value in it) so during the server validation this key wasn’t entered into the ModelState.&lt;/p&gt;    &lt;p align="left"&gt;when I removed the registration to the TrimmedStringModelBinder&amp;#160; I saw that even if the property is valid – a key would be added the ModelState stating there are no errors here.&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;Looked a bit at &lt;a href="http://stackoverflow.com" target="_blank"&gt;Stackoverflow&lt;/a&gt; but didn’t find anything useful..&lt;/p&gt;    &lt;p align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;strong&gt;The&amp;#160; solution can&amp;#160; always be found at the source:&lt;/strong&gt;&lt;/p&gt;    &lt;p align="left"&gt;So opened the&amp;#160; mvc2-rtm-sources\src\SystemWebMvc\Mvc\DefaultModelBinder.cs &lt;/p&gt;    &lt;p align="left"&gt;and the solution is right there at the&amp;#160; BindModel method :&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;…&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // Simple model = int, string, etc.; determined by calling TypeConverter.CanConvertFrom(typeof(string))        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // or by seeing if a value in the request exactly matches the name of the model we&amp;#39;re binding.         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // Complex type = everything else.         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (!performedFallback) {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font style="background-color:#ffffff;"&gt;&amp;#160;&amp;#160; ValueProviderResult vpResult = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);          &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (vpResult != null) {         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font style="background-color:#ffff00;"&gt;return BindSimpleModel(controllerContext, bindingContext, vpResult);          &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }.&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;font color="#0000ff"&gt;…&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;went directly to the Simple model condition since this is what I’m binding(string remember?)&lt;/p&gt;    &lt;p align="left"&gt;that led to the&amp;#160; BindSimpleModel method, where the first line is:&lt;/p&gt;    &lt;p align="left"&gt;&lt;font style="background-color:#ffff00;" color="#0000ff"&gt;bindingContext.ModelState.SetModelValue(bindingContext.ModelName, valueProviderResult);&lt;/font&gt;&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;So here it is:&lt;/p&gt;    &lt;p align="left"&gt;you must add all all the keys to the ModelState , during the binding, the validation only updates faulty ones.&lt;/p&gt;    &lt;p align="left"&gt;(it is so awesome that we have access to the MVC code,&amp;#160; it is not a huge codebase it is self explanatory, and have some comments where needed) .&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;This post has become too long, and I have more&amp;#160; things to elaborate on the TrimmedStringModelBinder&amp;#160; - so will do it at another&amp;#160; post later.&lt;/p&gt;    &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;p align="left"&gt;till then&amp;#160; - happy coding&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt; &lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=733221" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Asp.NET/default.aspx">Asp.NET</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2/default.aspx">asp.net MVC 2</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/MVC/default.aspx">MVC</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/ModelValidation/default.aspx">ModelValidation</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DataAnnotations/default.aspx">DataAnnotations</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/IModelBinder/default.aspx">IModelBinder</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/ModelState/default.aspx">ModelState</category></item><item><title>Good talk on JavaScript performance + some notes</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/09/28/Good-talk-on-JavaScript-performance-_2B00_-some-notes.aspx</link><pubDate>Tue, 28 Sep 2010 12:05:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:716948</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=716948</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=716948</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/09/28/Good-talk-on-JavaScript-performance-_2B00_-some-notes.aspx#comments</comments><description>&lt;p&gt;
&lt;div style="TEXT-ALIGN:left;" dir="ltr"&gt;
&lt;p&gt;&lt;a href="http://www.smashingmagazine.com/2010/07/17/seven-must-see-videos-and-presentations-for-web-app-developers/" target="_blank"&gt;Smashing magazine posted&amp;nbsp;a Seven Must-See Videos and Presentations for Web App Developers&lt;/a&gt;&lt;br /&gt;finally&amp;nbsp;had the chance to start watching these videos(on the bus :))&lt;br /&gt;&amp;nbsp;&lt;br /&gt;The first one deals with Speeding up your JavaScript by &lt;a href="http://www.nczonline.net/"&gt;Nicholas C. Zakas&lt;/a&gt;&lt;br /&gt;Very interesting talk:&lt;br /&gt;&lt;br /&gt;
&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mHtdZgou0qU?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/mHtdZgou0qU?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;While watching this remember that you should take the problematic places that need to perform better and make the changes there(&lt;a href="http://www.nczonline.net/blog/2009/06/05/speed-up-your-javascript-the-talk/" target="_blank"&gt;as Nicholas also stated at the beginning of the talk and also in this post following the talk&lt;/a&gt;).&lt;br /&gt;I think that performance should also guide us while writing the code, &lt;br /&gt;BUT in most cases - the alternative that uses code that is a bit slower(say using jQuery that makes using closures very easy) - is more readable and maintainable and should be used.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;here are some of my notes(for me.. you shuold just watch it)&lt;br /&gt;&lt;/strong&gt;* mind your scope, minimizing the scope chain is better(don&amp;#39;t use with, try/catch)&lt;br /&gt;* try to use less closures&lt;br /&gt;* property accessing is costly(store it at a var in the function)&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Loops:&lt;/u&gt;&lt;br /&gt;* don&amp;#39;t use for-in for itertating arrays&lt;br /&gt;* shorten loops and the amount of work in each step&lt;br /&gt;&lt;em style="COLOR:blue;"&gt;for(var i=0, len=values.length ;i&amp;lt;len;i++)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; process(values[i]);&lt;br /&gt;}&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;//flip loops (50% less time)&lt;br /&gt;&lt;em style="COLOR:blue;"&gt;var len=values.length&lt;br /&gt;for(var i=len;i--;)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; process(values[i]);&lt;br /&gt;}&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em style="COLOR:blue;"&gt;$.each(function...&lt;/em&gt; - this creates a closure for each iteration - use regular loop if you can&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Dom&lt;br /&gt;&lt;/u&gt;* HTMLCollections - &lt;strong&gt;BAD&lt;/strong&gt; - and are evaluated always(sort of live objects)&lt;br /&gt;&amp;nbsp;&amp;nbsp;if you need to access it frequently - copy it to an array.&lt;br /&gt;* eliminate Reflow(when adding items to a dom list for example)&lt;br /&gt;* use DocumentFragment as a container document.createDocumentFragment- and then add this to the dom.&lt;br /&gt;*&amp;nbsp;do dom manipulations outside of the dom&lt;br /&gt;* don&amp;#39;t touch the style a lot - define a class instead that contains all of these if possible&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=716948" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/video/default.aspx">video</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>MVC2 ActionFilterAttribute - During OnActionExecuting Don't use Redirect Use RedirectResult</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/04/28/MVC2-ActionFilterAttribute-_2D00_-During-OnActionExecuting-Dont-use-Redirect-Use-RedirectResult.aspx</link><pubDate>Thu, 29 Apr 2010 03:29:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:602076</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=602076</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=602076</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/04/28/MVC2-ActionFilterAttribute-_2D00_-During-OnActionExecuting-Dont-use-Redirect-Use-RedirectResult.aspx#comments</comments><description>&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;p&gt;Still haven&amp;#39;t upgraded to the visual studio 2010 RTM, so I&amp;#39;m talking about version RC1 of MVC2(the one that shipped with VS2010 RC),&lt;br /&gt;But i &lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;guess&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;this is also the case with the RTM version.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We followed the &lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;excellent&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;post by &lt;a href="http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/" title="Securing Your Controller Actions"&gt;Rob Conery&lt;/a&gt; and implemented our own &lt;b&gt;ActionFilterAttribute &lt;/b&gt;&lt;br /&gt;to &lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;validate&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;that only authenticated users gain access to some of the actions.&lt;br /&gt;At &lt;b&gt;OnActionExecuting &lt;/b&gt;we checked for anonymous users and redirected them to the login page. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;All went well till &lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;Accidentally&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;i stumbled upon an exception right before the user was redirected to the login page,&lt;br /&gt;users will never see this exception, but the server will suffer.&lt;br /&gt;i usually check the &amp;quot;&lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;Remember&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Me&amp;quot; checkbox to save time...&lt;br /&gt;&lt;i&gt;(it is always a good idea to check the &amp;quot;Thrown&amp;quot; checkbox for the &amp;quot;Common Language Runtime Exceptions&amp;quot; &lt;br /&gt;at the Exceptions window =&amp;gt; click on Ctrl+Alt+e to open it).&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;It turns&amp;nbsp; out that calling &lt;i&gt;&lt;b&gt;filterContext.HttpContext.Response.Redirect(loginUrl, true);&lt;/b&gt;&lt;/i&gt; &lt;br /&gt;will redirect to the requested Url, but it doesn&amp;#39;t stop the Action execution,&lt;br /&gt;so the &lt;b&gt;Action &lt;/b&gt;is called and also the &lt;b&gt;OnActionExecuted&lt;/b&gt;(of the controller)&lt;b&gt; &lt;/b&gt;event is called.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In my case i had an exception at one of the actions trying to get some user data, &lt;br /&gt;and then an exception at OnActionExecuted where i set expiration headers on the request&lt;br /&gt;(got the&amp;quot;Server cannot append header after HTTP headers have been sent.&amp;quot;).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;The solution:&lt;/b&gt;&lt;br /&gt;Use &lt;i&gt;&lt;b&gt;filterContext.Result = new RedirectResult(sUrl);&lt;/b&gt;&lt;/i&gt; instead of the redirect.&lt;br /&gt;this will skip the &lt;b&gt;Action &lt;/b&gt;and of course redirect to the Url.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Note that although the requested &lt;b&gt;Action &lt;/b&gt;was skipped, &lt;b&gt;OnActionExecuted &lt;/b&gt;will be executed, &lt;br /&gt;but the &lt;i&gt;&lt;b&gt;filterContext.Canceled&lt;/b&gt;&lt;/i&gt; property will be set to true so you can stop unwanted &lt;span class="Apple-style-span" style="border-collapse:separate;font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"&gt;&lt;span class="Apple-style-span" style="font-family:arial;text-align:left;font-size:small;"&gt;execution&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;inside it as well&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt;hope this helps.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=602076" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2/default.aspx">asp.net MVC 2</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Gotcha/default.aspx">Gotcha</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2+RC1/default.aspx">asp.net MVC 2 RC1</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+4/default.aspx">asp.net 4</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/MVC/default.aspx">MVC</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Action+Filter/default.aspx">Action Filter</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/exceptions/default.aspx">exceptions</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/ActionFilterAttribute/default.aspx">ActionFilterAttribute</category></item><item><title>Alt.Net Israel #3 - the programming languages talk(mostly on F#)</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/28/Alt.Net-Israel-_2300_3-_2D00_-the-programming-languages-talk.aspx</link><pubDate>Sun, 28 Mar 2010 11:57:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:564469</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=564469</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=564469</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/28/Alt.Net-Israel-_2300_3-_2D00_-the-programming-languages-talk.aspx#comments</comments><description>&lt;p&gt;
&lt;div dir="rtl" align="right"&gt;מאוד נהנתי&amp;nbsp;בכנס האלט נט ביום שישי שעבר, &lt;a href="http://blogs.microsoft.co.il/blogs/gadim/archive/2010/03/27/564306.aspx"&gt;גדי תאר אותו בצורה מצויינת.&lt;/a&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;צילמתי את הקבוצה שדנה בנושא שפות תכנות, אבל תכלס בעיקר דיברנו שם על F# ותכנות פונקציונאלי בכלל, והאם זה טוב לנו.&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;מצטער מראש על האיכות(למרות שהופתעתי לטובה) והחלוקה לחמישה חלקים - צילמתי במצלמת סטילס (canonPowerShot s3), &lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;שמסוגלת לצלם עד 10-15 דקות בכל פעם(אני יודע שאני יכול לאחד אל הסרטונים, אבל זו התעסקות שלוקחת זמן).&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;למעט הדגמה קצרצרה על הלוח, היו&amp;nbsp;בעיקר דיבורים, כך שאם יותר נוח לכם, תמירו ל MP3 ותהנו משיחה מעניינת.&lt;br /&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;תהנו:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;חלק 1:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;
&lt;object id="viddler_f9c73dab" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9207"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/f9c73dab/"&gt;&lt;param name="Src" value="http://www.viddler.com/simple/f9c73dab/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/simple/f9c73dab/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_f9c73dab"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;חלק 2:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;
&lt;object id="viddler_bd2777bb" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9207"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/bd2777bb/"&gt;&lt;param name="Src" value="http://www.viddler.com/simple/bd2777bb/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/simple/bd2777bb/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_bd2777bb"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;חלק 3:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;
&lt;object id="viddler_cece0060" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9207"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/cece0060/"&gt;&lt;param name="Src" value="http://www.viddler.com/simple/cece0060/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/simple/cece0060/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_cece0060"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;חלק 4:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;
&lt;object id="viddler_f4d6beea" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9207"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/f4d6beea/"&gt;&lt;param name="Src" value="http://www.viddler.com/simple/f4d6beea/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/simple/f4d6beea/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_f4d6beea"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;חלק 5:&lt;/div&gt;
&lt;div dir="rtl" align="right"&gt;
&lt;object id="viddler_45839c1a" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="348"&gt;&lt;param name="_cx" value="11562"&gt;&lt;param name="_cy" value="9207"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/45839c1a/"&gt;&lt;param name="Src" value="http://www.viddler.com/simple/45839c1a/"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value="LT"&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt;
&lt;embed src="http://www.viddler.com/simple/45839c1a/" width="437" height="348" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_45839c1a"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=564469" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/video/default.aspx">video</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/alt-net-israel/default.aspx">alt-net-israel</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/F_2300_/default.aspx">F#</category></item><item><title>Simple RTFEM OR why asp.net MVC [ValidateInput(false)] doesn't disable request validation on asp.net 4</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/24/simple-rtfem-or-why-asp-net-mvc-validateinput_3D00_false-doesnt-disable-request-validation-on-asp-net-4.aspx</link><pubDate>Thu, 25 Mar 2010 03:14:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:560696</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=560696</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=560696</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/24/simple-rtfem-or-why-asp-net-mvc-validateinput_3D00_false-doesnt-disable-request-validation-on-asp-net-4.aspx#comments</comments><description>&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;p&gt;Have been doing a lot of &lt;a href="http://www.asp.net/mvc/"&gt;asp.new MVC&lt;/a&gt; the past three months, learning it as we build the project(hope to share more in the near future).&lt;br /&gt;We are using visual studio 2010, so now we&amp;#39;re stuck with MVC2 RC1 since RTM wasn&amp;#39;t shipped for the the RC version of 2010 (and yes this is a huge rant!!, we are stuck with 2010 since we also chose to work with entity framework 4 which only work on framework 4.0).&lt;br /&gt;This is why i suspect every feature that doesn&amp;#39;t work well as a problem of an early release.&lt;br /&gt;&lt;br /&gt;Before i get to the point, just wanted to state that i really like the MVC framework, and i don&amp;#39;t even consider moving back to WebForms.&lt;br /&gt;it is much more natural to write code this way, and the thing i like the most is that it is extensible and Microsoft have 
released all it&amp;#39;s code, so if something doesn&amp;#39;t behave well - ditch it and replace it, using the supplied code as a reference.&lt;br /&gt;&lt;br /&gt;Now to the point - &lt;b&gt;RTFEM &lt;/b&gt;== &lt;b&gt;R&lt;/b&gt;ead &lt;b&gt;T&lt;/b&gt;he &lt;b&gt;F&lt;/b&gt;ucking &lt;b&gt;E&lt;/b&gt;rror &lt;b&gt;M&lt;/b&gt;essage.&lt;br /&gt;well.. nobody hardly does, and if the error is too long - nobody reads it.&lt;br /&gt;At one of my forms i use a Rich Text Editor (&lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt; if you must know), so i have to disable request validation or else i&amp;#39;ll get a server error for posting potentially....&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In WebForms you just set the &lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, 
sans-serif "&gt;validateRequest=&amp;quot;false&amp;quot; at the page level, and &lt;/font&gt;&lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, 
sans-serif "&gt;you&amp;#39;re&lt;/font&gt;&lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, 
sans-serif "&gt; OK.&lt;br /&gt;in MVC &lt;/font&gt;disabling this feature is a bit different,&lt;br /&gt;setting &lt;font face="Arial,
 Helvetica, Geneva, SunSans-Regular, 
sans-serif "&gt;validateRequest=&amp;quot;false&amp;quot;&lt;/font&gt; on the aspx or at the 
web.config won&amp;#39;t cut it since these are only views, the controller 
handles the request first and just use the view as template.&lt;br /&gt;So the MVC team gave us the 
&lt;b&gt;[ValidateInput(false)]&lt;/b&gt; attribute to disable this annoying 
feature.&lt;br /&gt;
But just setting it on an action will also fail, you still have to 
set one more setting at the web.config for this to work(if you are working with asp.net 4):&lt;br /&gt;&lt;b&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;httpRuntime
 requestValidationMode=&amp;quot;2.0&amp;quot; /&amp;gt;&lt;br /&gt;
...&lt;br /&gt;&amp;lt;/system.web&amp;gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;you can read at &lt;a href="http://www.asp.net/%28S%28ywiyuluxr3qb2dfva1z5lgeg%29%29/learn/whitepapers/aspnet4/breaking-changes/#_TOC7"&gt;the ASP.NET 4 Release Candidate (RC) Breaking Changes&lt;/a&gt; that now all requests to the server &amp;quot;enjoy&amp;quot; this validation, &lt;br /&gt;and not just aspx pages, which is OK and more secure, but MS should have gave us a better way to disable it for specific requests, instead of just reverting to the 2.0 mode.&lt;br /&gt;as the above paper states,request validation is enabled before the beginRequest stage, so i don&amp;#39;t believe that at the RTM it will be fixed. &lt;/p&gt;&lt;p&gt;As for the time it took me to realize that and add the web.config entry, the answer was in front of me all the 
time in the ugly YSOD(yes i feel stupid now), &lt;br /&gt;I just ignored it 
because it had all this WebForms specific error data and instructions 
that i know are not the answer.&lt;br /&gt;
&lt;br /&gt;I would expect a change at the error message from MS for the MVC people(or better - that putting [ValidateInput(false)]will just work) , 
but that&amp;#39;s just me dreaming.&lt;/p&gt;&lt;p&gt;The error message(the yellow part is the relevant part for me):&amp;nbsp;&lt;span&gt;&lt;h2&gt; &lt;i&gt;A potentially dangerous Request.Form value was detected 
from the client (SomeLie=&amp;quot;&amp;lt;b&amp;gt;Bold Lie&amp;lt;/b&amp;gt;&amp;quot;).&lt;/i&gt; &lt;/h2&gt;&lt;/span&gt;

            &lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, 
sans-serif "&gt;

            &lt;b&gt; Description: &lt;/b&gt;Request Validation has detected a 
potentially dangerous client input value, and processing of the request 
has been aborted.  This value may indicate an attempt to compromise the 
security of your application, such as a cross-site scripting attack.  To
 allow pages to override application request validation settings,&lt;span style="background-color:Yellow;"&gt; set 
the requestValidationMode attribute in the httpRuntime configuration 
section to requestValidationMode=&amp;quot;2.0&amp;quot;. Example: &amp;lt;httpRuntime 
requestValidationMode=&amp;quot;2.0&amp;quot; /&amp;gt;&lt;/span&gt;. After setting this value, you 
can 
then disable request validation by setting validateRequest=&amp;quot;false&amp;quot; in 
the Page directive or in the &amp;lt;pages&amp;gt; configuration section.  
However, it is strongly recommended that your application explicitly 
check all inputs in this case.  For more information, see 
&lt;a href="http://go.microsoft.com/fwlink/?LinkId=153133" target="_blank"&gt;http://go.microsoft.com/fwlink/?LinkId=153133&lt;/a&gt;.
            &lt;br /&gt;&lt;br /&gt;

            &lt;b&gt; Exception Details: &lt;/b&gt;System.Web.HttpRequestValidationException:
 A potentially dangerous Request.Form value was detected from the client
 (SomeLie=&amp;quot;&amp;lt;b&amp;gt;Bold Lie&amp;lt;/b&amp;gt;&amp;quot;).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;P.S.&lt;/b&gt;&lt;br /&gt;when looking for the solution, encountered this &lt;a href="http://stackoverflow.com/questions/1461330/validateinput-attribute-doesnt-seem-to-work-in-asp-net-mvc" target="_blank"&gt;http://stackoverflow.com/questions/1461330/validateinput-attribute-doesnt-seem-to-work-in-asp-net-mvc&lt;/a&gt;
 &lt;br /&gt;
This shows another thing to look for - &amp;quot;If there are any calls to other 
actions in the request context (e.g. from the 
Master Page or child partials) these actions also need to have 
&lt;code&gt;[ValidateInput(false)]&lt;/code&gt; set appropriately&amp;quot; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;hope this helps. &lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div dir="rtl" style="text-align:right;"&gt;
&lt;span style="font-weight:bold;"&gt;והסבר קצר בעברית: &lt;/span&gt;יתווסף פה בהמשך.. עייף מידיי כרגע, מצטער.&lt;br /&gt;רק תקפידו לקרוא את הודעות השגיאה, גם אם נראה שהן לא לגמריי קשורות.
&lt;/div&gt;
&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;span style="color:Blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="text-align:left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="ltr" style="text-align:left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=560696" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Asp.NET/default.aspx">Asp.NET</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2/default.aspx">asp.net MVC 2</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Gotcha/default.aspx">Gotcha</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/RTFEM/default.aspx">RTFEM</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2+RC1/default.aspx">asp.net MVC 2 RC1</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/request+validation/default.aspx">request validation</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+4/default.aspx">asp.net 4</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/MVC/default.aspx">MVC</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/web_2E00_config/default.aspx">web.config</category></item><item><title>jQuery Gotcha: val() might select the wrong option at a select element</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/22/jQuery-Gotcha_3A00_-val_28002900_-might-select-the-wrong-option-at-a-select-element_2E00_.aspx</link><pubDate>Tue, 23 Mar 2010 02:29:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:556757</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=556757</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=556757</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/22/jQuery-Gotcha_3A00_-val_28002900_-might-select-the-wrong-option-at-a-select-element_2E00_.aspx#comments</comments><description>&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;p&gt;Let&amp;#39;s imagine you have the following select element:&lt;/p&gt;
&lt;p&gt;&lt;span style="color:Blue;"&gt;&amp;lt;select
  id=&amp;quot;someSelect&amp;quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&amp;nbsp; &amp;lt;option 
value=&amp;quot;&amp;quot;&amp;gt;-Select-&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp;  &amp;lt;option value=&amp;quot;&lt;span style="background-color:Yellow;"&gt;12&lt;/span&gt;&amp;quot;&amp;gt;21&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; 
&amp;lt;option  value=&amp;quot;&lt;span style="background-color:Yellow;"&gt;11&lt;/span&gt;&amp;quot;&amp;gt;20&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; 
&amp;lt;option  value=&amp;quot;&lt;span style="background-color:Yellow;"&gt;10&lt;/span&gt;&amp;quot;&amp;gt;19&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; 
&amp;lt;option  value=&amp;quot;9&amp;quot;&amp;gt;18&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  
value=&amp;quot;8&amp;quot;&amp;gt;17&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  
value=&amp;quot;7&amp;quot;&amp;gt;16&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  
value=&amp;quot;6&amp;quot;&amp;gt;15&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  
value=&amp;quot;5&amp;quot;&amp;gt;14&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  
value=&amp;quot;4&amp;quot;&amp;gt;13&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; &amp;lt;option  value=&amp;quot;3&amp;quot;&amp;gt;&lt;span style="background-color:Yellow;"&gt;12&lt;/span&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; 
&amp;lt;option  value=&amp;quot;2&amp;quot;&amp;gt;&lt;span style="background-color:Yellow;"&gt;11&lt;/span&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; 
&amp;lt;option  value=&amp;quot;1&amp;quot;&amp;gt;&lt;span style="background-color:Yellow;"&gt;10&lt;/span&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;lt;/select&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Notice that the  text in some options appears as value in other 
options.&lt;br /&gt;you can get a  select like this when composing an age drop 
down for example.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Now  for the Gotcha:&lt;/b&gt; which option will be chosen as a
 result of the  following expression:&lt;br /&gt;&lt;span style="color:Blue;"&gt;$(&amp;quot;#someSelect&amp;quot;).val(&amp;quot;12&amp;quot;);&lt;/span&gt;&lt;br /&gt;???&lt;br /&gt;Answer:
  the selected option will be &lt;span style="color:Blue;"&gt;&amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;12&amp;lt;/option&amp;gt;&lt;/span&gt;&lt;br /&gt;and
  not the option with the value of 12 as we intended.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why
 this  happened?&lt;/b&gt;&lt;br /&gt;Let&amp;#39;s look at the part of the 
jQuery(varsion 1.3.2) val()  function that handles the Select:&lt;/p&gt;
&lt;p&gt;&lt;span style="color:Blue;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;else if (  
jQuery.nodeName( this, &amp;quot;select&amp;quot; ) ) &lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; var values
 =  jQuery.makeArray(value);&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; jQuery( &amp;quot;option&amp;quot;, this 
).each(function()&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.selected = 
(jQuery.inArray( this.value, values ) &amp;gt;= 0  &lt;span style="background-color:Yellow;"&gt;|| jQuery.inArray( this.text, 
values ) &amp;gt;= 0&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp; if (  !values.length )&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
this.selectedIndex = -1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:Blue;"&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;it  loops on all the items of the select and tries to match either 
the  value or the text against the input value, &lt;br /&gt;it was designed to help us select options by text, but i find it a bit annoying...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How  to avoid this Gotcha?&lt;/b&gt;&lt;br /&gt; for select elements 
of this nature you can use:&lt;br /&gt;&lt;span style="color:Blue;"&gt;$(&amp;quot;#someSelect
  option[value=&amp;quot; + val + &amp;quot;]&amp;quot;).attr(&amp;quot;selected&amp;quot;,  &amp;quot;selected&amp;quot;);&lt;/span&gt;&lt;br /&gt;or&lt;br /&gt;&lt;span style="color:Blue;"&gt;jqThePrefoundSelect.find(&amp;quot;option[value=&amp;quot;
  + val + &amp;quot;]&amp;quot;).attr(&amp;quot;selected&amp;quot;, &amp;quot;selected&amp;quot;);&lt;/span&gt;&lt;br /&gt;or... well  you 
get the point - just make sure you find the option by it&amp;#39;s value and  
not it&amp;#39;s text.&lt;/p&gt;&lt;p&gt;hope this helps. &lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div dir="rtl" style="text-align:right;"&gt;
&lt;span style="font-weight:bold;"&gt;והסבר קצר בעברית:
&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;שימו לב ל select שהצגתי לעיל,&lt;br /&gt;בחלק מה options שלו יש ערכים שמופיעים כטקסט ב options אחרים.&lt;br /&gt;זהו תרחיש אפשרי למשל במתן אפשרות לבחירת גיל של משתמש.&lt;br /&gt;&lt;br /&gt;במידה ונרצה לבחור ערך באמצעות jQuery בצורה הבאה:&lt;br /&gt;
&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;span style="color:Blue;"&gt;$(&amp;quot;#someSelect&amp;quot;).val(&amp;quot;12&amp;quot;);&lt;/span&gt;
&lt;/div&gt;
&lt;br /&gt;במקום שתיבחר ה option בעלת הערך 12(כמו שרצינו), תיבחר ה option בעלת הערך 3, כיוון שהטקסט שלה מכיל 12&lt;br /&gt;את הסיבה לכך הצגתי בקטע הקוד מהפונקציה val לעיל(קטע הקוד הבעייתי מסומן בצהוב):&lt;br /&gt;רצים בלולואה על כל ה options ומנסים למצוא התאמה לערך &lt;span style="font-weight:bold;"&gt;ולטקסט&lt;/span&gt;, &lt;br /&gt;זה נועד לאפשר בחירה קלה של ערך לפי הטקסט שלו, אבל במקרה שלנו זה משבש את העניינים.&lt;/div&gt;&lt;div dir="rtl" style="text-align:right;"&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;אז מה עושים?&lt;br /&gt;&lt;/span&gt;מוודאים שבוחרים את ה option הנכון לפי הערך שלו, ולא לפי הטקסט.&lt;br /&gt; הצגתי לעיל שתי אפשרויות(כמובן שאפשר בעוד דרכים, גם לולאה פשוטה ב JS תעשה את העבודה)&lt;br /&gt;אחת מהצורות שהצגתי: &lt;br /&gt;
&lt;/div&gt;
&lt;div dir="ltr" style="text-align:left;"&gt;
&lt;span style="color:Blue;"&gt;$(&amp;quot;#someSelect
  option[value=&amp;quot; + val + &amp;quot;]&amp;quot;).attr(&amp;quot;selected&amp;quot;,  &amp;quot;selected&amp;quot;);&lt;/span&gt;&lt;/div&gt;&lt;div dir="ltr" style="text-align:left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="ltr" style="text-align:left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=556757" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/select/default.aspx">select</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Gotcha/default.aspx">Gotcha</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>ALT.NET Israel #3 - Spring 2010</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/16/ALT.NET-Israel-_2300_3-_2D00_-Spring-2010.aspx</link><pubDate>Tue, 16 Mar 2010 23:27:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:548361</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=548361</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=548361</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/03/16/ALT.NET-Israel-_2300_3-_2D00_-Spring-2010.aspx#comments</comments><description>&lt;div dir="rtl" style="position:relative;" align="right"&gt;שריינו את יום שישי ה 26.3.10 (ואת הערב של יום חמישי שלפניו).

&lt;img src="http://profile.ak.fbcdn.net/object2/718/86/n313954738555_2574.jpg" style="position:absolute;" border="0" alt="" /&gt;


&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;בשעה טובה כנס alt.net israel נוסף יוצא לדרך.&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;div dir="rtl" align="right"&gt;כל הפרטים נוספים &lt;a href="http://groups.google.com/group/altnetisrael/browse_thread/thread/4fe6c70aab15adf3"&gt;בקבוצה
 בגוגל&lt;/a&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;או &lt;a href="http://www.facebook.com/event.php?eid=313954738555"&gt;באירוע 
בפייסבוק(שם גם אפשר להירשם)&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ולמי שאין פייסבוק, הנה הפרטים המינימלים שצריך לדעת ע&amp;quot;מ להגיע:&lt;br /&gt;תאריך התחלה: Thursday, March 25, 2010 at 6:00pm&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;תאריך סיום:&amp;nbsp;
Friday, March 26, 2010 at 4:00pm&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;מיקום: משרדי חברת סירס ישראל (SHC) - המנופים 9 הרצליה פיתוח (&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=he&amp;amp;geocode=&amp;amp;q=%D7%94%D7%9E%D7%A0%D7%95%D7%A4%D7%99%D7%9D+9,+%D7%94%D7%A8%D7%A6%D7%9C%D7%99%D7%94,+%D7%99%D7%A9%D7%A8%D7%90%D7%9C&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=49.624204,114.169922&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=%D7%94%D7%9E%D7%A0%D7%95%D7%A4%D7%99%D7%9D+9,+%D7%94%D7%A8%D7%A6%D7%9C%D7%99%D7%94,+%D7%99%D7%A9%D7%A8%D7%90%D7%9C&amp;amp;z=17"&gt;מפה&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; בניין אקרשטיין A, קומה 3, על הדלת כתוב SHC ISRAE&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;a href="http://www.facebook.com/event.php?eid=313954738555"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div dir="rtl" align="right"&gt;הייתי בשני הכנסים הקודמים והיה ממש מעניין, וכמובן, אחלה אנשים.&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/04/18/ALT.NET-Israel-2-_1320_-The-source-control-talk.aspx"&gt;קצת הרצאות מהכנס הקודם בפוסט ישן שלי&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&lt;a href="http://delicious.com/avipinto/ALT.NET" target="_blank"&gt;ועוד לינקים להרצאות מהכנס הראשון בדלישס שלי&lt;/a&gt;.&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;וכמובן תודה &lt;a href="http://www.kenegozi.com/blog"&gt;לחן אגוזי (AKA ken)&lt;/a&gt;  על היוזמה והארגון,&lt;br /&gt;לחברת סירס ישראל על האירוח&lt;br /&gt;ולחברת &lt;a href="http://site.typemock.com/"&gt;טייפמוק &lt;/a&gt;על הכיבוד&lt;br /&gt;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;נתראה שם.


&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl" align="right"&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=548361" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/alt-net-israel/default.aspx">alt-net-israel</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/community/default.aspx">community</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/.net/default.aspx">.net</category></item><item><title>How to change ASP.NET MVC 2 default folder structure in Visual studio 2010 Beta 2</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/01/30/How-to-change-ASP.NET-MVC-2-default-folder-structure-in-Visual-studio-2010-Beta-2.aspx</link><pubDate>Sat, 30 Jan 2010 15:20:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:512222</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=512222</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=512222</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/01/30/How-to-change-ASP.NET-MVC-2-default-folder-structure-in-Visual-studio-2010-Beta-2.aspx#comments</comments><description>&lt;p dir="rtl"&gt;
החלטנו בצוות לכתוב את המערכת החדשה ב MVC 2 (נשבר כבר מזמן מ web Forms).&lt;br /&gt;מבנה הספריות הדיפולטי לא מתאים לנו - לוגית האפליקציה שלנו מחולקת לשני תחומים עיקריים, לכן רצינו פיצול של הקוד, בעיקר מטעמי תחזוקה.&lt;br /&gt;&lt;br /&gt;ב web Forms היינו יוצרים שתי ספריות ומתחת לכל ספריה היו נמצאים הקבצים הרלוונטים אליה.&lt;br /&gt;ב MVC 2 התווסף הפיצ&amp;#39;ר Areas, או יותר נכון single-project area (בגרסא הסופית של MVC 2 לא ישוחרר הפיצ&amp;#39;ר של פיזור areas בפרוייקטים שונים, אבל מי צריך את זה בכלל)- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; הכוונה - הוספת ספריה בשם Areas ב root של הפרוייקט, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ומתחתיה יש ספריה לכל area - בעצם ספריה שמכילה את ה controllers ו views עבור אותו area &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; מאוד נח לחלוקת הפרוייקט, מה גם שיכול להיות לכם controller בשם זהה בשני איזורים שונים(שכמובן יעשה פעולות שונות)&lt;br /&gt;הסבר על areas אפשר לראות בהרצאה מ PDC2009 בשם &lt;a href="http://microsoftpdc.com/Sessions/FT22" target="_blank"&gt;Microsoft ASP.NET MVC 2: The New Stuff&lt;/a&gt; בערך מדקה 12&lt;br /&gt;&lt;br /&gt;בצורה מפתיעה, ב 2 visual studio 2010 beta לא קיים התפריט של הוספת area (חבל שהבחור מה PDC לא ציין זאת, ותודה ל&lt;a href="http://blogs.microsoft.co.il/blogs/noam/" target="_blank"&gt;נעם קינג&lt;/a&gt; &lt;a href="http://haacked.com/archive/2009/12/19/aspnetmvc-2-and-vs2010.aspx" target="_blank"&gt;שהעלה את הנקודה הזו בפניי והפנה אותי לכאן&lt;/a&gt;) &lt;br /&gt;קצת מתסכל שבכל חיפוש כמעט הגעתי אל הפוסט של &lt;a href="http://haacked.com/archive/2009/07/31/single-project-areas.aspx" target="_blank"&gt;Phil Haack&lt;/a&gt;, שמסביר איך לממש areas אבל גם מציין בראשית הפוסט ש &amp;quot;Single project areas are a core part of ASP.NET MVC 2&amp;quot;&lt;br /&gt;&lt;br /&gt;איזו התרגשות,יש תמיכה, ויהיו תפריטים בגרסה של visual studio שתצא בפבואר, אבל איך בונים את זה עכשיו??&lt;br /&gt;חיפושים העלו את ההסבר הבא &lt;a href="http://msdn.microsoft.com/en-us/library/ee671793%28VS.100%29.aspx" target="_blank"&gt;Walkthrough: Organizing an ASP.NET MVC Application using Functional Areas&lt;/a&gt; ששוב מראה שימוש בכלים, שכרגע קיימים רק עבור visual studio 2008 מול asp.net mvc 2 rc, אבל יש שם פרוייקט דוגמא :-).&lt;br /&gt;1. תורידו את פרוייקט הדוגמא.&lt;br /&gt;2. צרו בפרוייקט שלכם מבנה ספריות דומה למבנה שיש שם תחת ספרית areas, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ואל תשכחו להעתיק את קובץ הרישום AreaRegistration.cs בכל אחד מהאיזורים שלכם.&lt;br /&gt;3. עכשיו שנו את שמות האיזורים בקובץ הרישום,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ואל תשכחו לשנות את ה&amp;nbsp; namespace (שימו לב שה namespace צריך להכיל .Areas. בשביל שיעבוד).&lt;br /&gt;4. תוסיפו AreaRegistration.RegisterAllAreas(); בפונקציה RegisterRoutes&amp;nbsp; שב global.asax מיד אחרי ה IgnoreRoute.&lt;br /&gt;&lt;br /&gt;סיימנו Happy Happy Joy Joy&lt;/p&gt;&lt;p dir="rtl"&gt;הסיבה להיצמדות לקונבנציות האלה קשורה למציאת ה views ע&amp;quot;י ה view engine הדיפולטי של asp.net MVC&lt;br /&gt;יכולנו לכתוב &lt;a href="http://www.coderjournal.com/2009/05/creating-your-first-mvc-viewengine/" target="_blank"&gt;View Engine משלנו&lt;/a&gt; ואז לבנות את הפרוייקט באיזו צורה שנרצה (המיקום של ה controller-ים פחות משנה, הם בכל מקרה יזוהו)&lt;br /&gt;אבל אני מעדיף להיצמד לקונבנציה במקרה זה.&lt;br /&gt;&lt;br /&gt;הסבר קצרצר באנגלית אפשר למצוא &lt;a href="http://stackoverflow.com/questions/2002220/changing-asp-net-mvc-default-folder-structure/2132642#2132642" target="_blank"&gt;בתשובה שלי ב stackoverflow&lt;/a&gt; ועוד הסברים על פתרון בעיות&lt;a href="http://stackoverflow.com/questions/1769949/asp-net-mvc-2-beta-single-project-area-registration-getting-http-404" target="_blank"&gt; בפוסט הבא&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;מקווה שזה עוזר למישהו&lt;/p&gt;&lt;br /&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=512222" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Asp.NET/default.aspx">Asp.NET</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/asp.net+MVC+2/default.aspx">asp.net MVC 2</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/visual+studio+2010+beta+2/default.aspx">visual studio 2010 beta 2</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/single-project+area/default.aspx">single-project area</category></item><item><title>Refactoring Principles &amp; Web on the next WDC - 24.1.2010</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/01/16/Refactoring-Principles-_2600_-Web-on-the-next-WDC-_2D00_-24.1.2010.aspx</link><pubDate>Sat, 16 Jan 2010 14:38:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:499355</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=499355</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=499355</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2010/01/16/Refactoring-Principles-_2600_-Web-on-the-next-WDC-_2D00_-24.1.2010.aspx#comments</comments><description>&lt;p dir="rtl"&gt;
חבר&amp;#39;ה, החודש &lt;a href="http://blogs.microsoft.co.il/blogs/uri_lavi/"&gt;אורי לביא&lt;/a&gt;, חבר קרוב ומקצוען אמיתי,
מעביר הרצאה על &lt;a href="http://blogs.microsoft.co.il/blogs/uri_lavi/archive/tags/Refactoring/default.aspx"&gt;refactoring &lt;/a&gt;עם אוריאנטציה ל WEB, &lt;br /&gt;בזמנו כבר יצא לי להיות נוכח בהרצאה כללית יותר על refactoring  שהוא העביר, והיה מצויין.
&lt;br /&gt;&lt;br /&gt;לא תראו בהרצאה את רק את תפריטי refactoring של  visualstudio  אלא תהליך מחשבתי מובנה, שבסופו מתקבל קוד יותר נקי וברור - פשוט תענוג.&lt;br /&gt;&lt;br /&gt;להרשמה לאירוע: &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439188&amp;amp;culture=he-IL" target="_blank"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439188&amp;amp;culture=he-IL&lt;/a&gt;


&lt;br /&gt;&lt;br /&gt;לאור הגידול במצבת כח האדם המשפחתית שלי :-) , אני לא בטוח שאצליח להגיע, אבל בהחלט אעשה מאמץ.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=499355" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/WDC/default.aspx">WDC</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/refactoring/default.aspx">refactoring</category></item><item><title>לכל חובבי האומנות - מכירת סוף שנה בארטא</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/12/21/_DE05DB05D905E805EA05_-_E105D505E305_-_E905E005D405_-_D105D005E805D805D005_.aspx</link><pubDate>Mon, 21 Dec 2009 13:37:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:474378</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=474378</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=474378</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/12/21/_DE05DB05D905E805EA05_-_E105D505E305_-_E905E005D405_-_D105D005E805D805D005_.aspx#comments</comments><description>&lt;p dir="rtl"&gt;כמו בכל שנה, גם השנה בשני סופי השבוע האחרונים של השנה - &lt;a href="http://www.arta-israel.co.il/" target="_blank"&gt;מבצע בארטא&lt;/a&gt; - כמעט על כל המוצרים ניתנת הנחה של 1+1.&lt;br /&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/pintyo/archive/2008/12/26/201428.aspx"&gt;פרטים נוספים בפוסט שלי משנה שעברה&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;אמנם פספסתי את שבוע שעבר, &lt;br /&gt;וקרוב לוודאי שלא אוכל להגיע השנה(כל מיני אילוצים שגם עכבו את הפוסט הזה), אבל ממש ממליץ לכם להגיע, &lt;br /&gt;כי אומנות יש לא רק בקוד.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=474378" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/offtopic/default.aspx">offtopic</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/_D005D505DE05E005D505EA05_/default.aspx">אומנות</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/_D005E805D805D005_/default.aspx">ארטא</category></item><item><title>My simple JSON flavor - JavaScriptSerializer at the server and json2.js at the client</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/12/12/My-simple-JSON-flavor-_2D00_-JavaScriptSerializer-at-the-server-and-json2.js-at-the-client.aspx</link><pubDate>Sat, 12 Dec 2009 14:39:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:464469</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=464469</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=464469</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/12/12/My-simple-JSON-flavor-_2D00_-JavaScriptSerializer-at-the-server-and-json2.js-at-the-client.aspx#comments</comments><description>&lt;p dir="rtl"&gt;קודם כל, עבור הקורא היחידי שלי, אני מתנצל על העדר הכתיבה בבלוג, אוסף של תירוצים הוביל טיוטות של פוסטים אל ה GMAIL שלי ואני מקווה שייצאו בקרוב.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;עכשיו לעניין הפוסט, זהו אמנם לא סיפור חדש בכלל, אבל אולי יחדש למישהו משהו.&lt;br /&gt;אין&amp;nbsp; שום סיבה לבנות/לפרסס מחרוזת &lt;a href="http://www.json.org/" target="_blank"&gt;JSON &lt;/a&gt;בעצמנו, 

&lt;/p&gt;&lt;div dir="rtl" style="direction:rtl;"&gt;
&lt;a href="http://www.flickr.com/photos/wwworks/2156015276/" title="some assembly required by woodleywonderworks, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2210/2156015276_57aa11194b.jpg" alt="some assembly required" align="texttop" border="0" height="333" hspace="" vspace="" width="500" /&gt;&lt;/a&gt;

&lt;div&gt;&lt;a href="http://www.flickr.com/photos/wwworks/" rel="cc:attributionURL"&gt;http://www.flickr.com/photos/wwworks/&lt;/a&gt; / &lt;a href="http://creativecommons.org/licenses/by/2.0/" rel="license"&gt;CC BY 2.0&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p dir="rtl"&gt;
&lt;br /&gt;&lt;b&gt;בצד השרת:&lt;/b&gt;&lt;br /&gt;קיימות כבר זמן רב ספריות מוכנות חיצוניות כמו &lt;a href="http://james.newtonking.com/projects/json-net.aspx" target="_blank"&gt;JSON.net by Newton&lt;/a&gt; או זו של &lt;a href="http://www.ajaxpro.info/" target="_blank"&gt;Ajax Pro&lt;/a&gt;&lt;br /&gt;ושתיים שמגיעות עם ה framework:&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx" target="_blank"&gt;JavaScriptSerializer &lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx" target="_blank"&gt;DataContractJsonSerializer &lt;/a&gt;&lt;br /&gt;תוך כדי כתיבת שורות אלו, מצאתי את הפוסט המצויין של &lt;a href="http://www.west-wind.com/Weblog/default.aspx" target="_blank"&gt;Rick Strahl&lt;/a&gt; מאוגוסט 2008, &lt;a href="http://www.west-wind.com/Weblog/posts/442969.aspx" target="_blank"&gt;JSON Serializers in .NET - not there yet&lt;/a&gt;,&lt;br /&gt;בו הוא מסביר מדוע כתב ספריה משלו לפרסוס JSON, מראה את ההבדלים בין שתי המחלקות + יתרונות וחסרונות, שהובילו אותו לכתיבת ספריה משלו.&lt;/p&gt;&lt;p dir="rtl"&gt;בזמנו, כשעלה הצורך, חסרון מרכזי של DataContractJsonSerializer היה שלא ניתן לסרייל באמצעותו טיפוסים אנונימיים (שימושי מאוד, אם מעוניינים להעביר מידע אל JS),&lt;br /&gt;ובנוסף ה API שלו דיי מגעיל.&lt;br /&gt;ובאותו זמן, כפי שציין Rick, המחלקה JavaScriptSerializer (שכן יודעת לסרייל טיפוסים אנונימיים) הוכרזה כ deprecated ע&amp;quot;י מייקרוסופט, &lt;br /&gt;לא רציתי להשתמש בקוד שיותר לא יתוחזק (מסיבה זו גם נטשתי את הספריה המצויינת Ajax Pro ),&lt;br /&gt;לכן השתמשתי בספריה של Newton (שעובדת מצויין).&lt;br /&gt;&lt;br /&gt;עבר קצת זמן מאז ועם יציאת &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;ASP.NET MVC&lt;/a&gt; מיקרוסופט החזירו לחיים את JavaScriptSerializer, לכן,למרות שהוא לא מושלם(חסרונות בפוסט של Rick),&lt;br /&gt;הוא מספיק טוב בשבילי, וחוסך לי התעסקות עם עוד dll חיצוני, בסה&amp;quot;כ צריך להוסיף reference ל System.Web.Extensions &lt;br /&gt;עטפתי את הקריאות ל JavaScriptSerializer בשתי פונקציות סטאטיות פשוטות משלי עבור היום שבו הוא אולי לא יספק אותי יותר(עדיין לא קרה).&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div dir="ltr" style="background:white none repeat scroll 0% 0%;text-align:left;direction:ltr;font-family:Courier New;font-size:10pt;color:black;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System.Web.Script.Serialization;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span&gt;JsonSerializer&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;

&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; uses the old JavaScriptSerializer (which is no longer deprecated)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; the beauty is it can Serialize annonymous types&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Serialize(&lt;span style="color:blue;"&gt;object&lt;/span&gt; Contents)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;JavaScriptSerializer&lt;/span&gt; serializer = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;JavaScriptSerializer&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;string&lt;/span&gt; ret = serializer.Serialize(Contents);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; ret;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; T Deserialize&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt; input)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span&gt;JavaScriptSerializer&lt;/span&gt; serializer = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;JavaScriptSerializer&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; T ret = serializer.Deserialize&amp;lt;T&amp;gt;(input);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue;"&gt;return&lt;/span&gt; ret;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;



&lt;p dir="rtl"&gt;&lt;b&gt;בצד הלקוח:&lt;br /&gt;&lt;/b&gt;גם כאן קיימים פתרונות כבר זמן רב, &lt;br /&gt;הפתרון הנאיבי הרע!!! הוא שימוש ב eval על המחרוזת שמתקבלת, זהו פתרון רע כיוון שאם יש סקריפט מרושע בתוך המחרוזת, הסקריפט יופעל.&lt;br /&gt;אני משתמש ב &lt;a href="http://json.org/js.html" target="_blank"&gt;http://json.org/js.html&lt;/a&gt; הוא לא מרחיב את ה prototype ולכן לא מתנגש עם &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt;&amp;nbsp; לינק ישיר להורדת הסקריפט: &lt;a href="http://json.org/json2.js" target="_blank"&gt;http://json.org/json2.js&lt;/a&gt; ויש גם גרסא מכווצת שלו ששוקלת פחות מ 2.5.&lt;br /&gt;דוגמת שימוש(עוד דוגמאות בתיעוד):&lt;br /&gt;
&lt;/p&gt;&lt;div dir="ltr" style="background:white none repeat scroll 0% 0%;text-align:left;direction:ltr;font-family:Courier New;font-size:10pt;color:black;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:green;"&gt;//turn js object to a string to send to server&lt;/span&gt; &lt;br /&gt;var myJSONText = JSON.stringify(myObject, replacer);&amp;nbsp;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:green;"&gt;//parse result from ajax call - i don&amp;#39;t usually use the reviver&lt;/span&gt; &lt;br /&gt;var myObject = JSON.parse(myJSONtext, reviver);&amp;nbsp;&lt;span style="color:green;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;&lt;br /&gt;&lt;p dir="rtl"&gt;אם אתם שולחים בקשות עם content type מסוג JSON אל service שיודע לקבל JSON אז לא תצטרכו לבנות/לפרסס בעצמכם, אבל יש מקרים שבהם זה נדרש, ואני מקווה שיהיה לי זמן לכתוב כמה דוגמאות בנושא.&lt;/p&gt;&lt;p dir="rtl"&gt;קידוד נעים.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=464469" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Ajax.net/default.aspx">Ajax.net</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/AjaxPro/default.aspx">AjaxPro</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Asp.NET/default.aspx">Asp.NET</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/.net/default.aspx">.net</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/JSON/default.aspx">JSON</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/JavaScriptSerializer/default.aspx">JavaScriptSerializer</category></item><item><title>When build fails because it can't register a dll to the GAC</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/10/11/When-build-fails-because-it-can_2700_t-register-a-dll-to-the-GAC.aspx</link><pubDate>Mon, 12 Oct 2009 01:49:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:423926</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=423926</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=423926</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/10/11/When-build-fails-because-it-can_2700_t-register-a-dll-to-the-GAC.aspx#comments</comments><description>&lt;p dir="rtl"&gt;תופעה מרגיזה שיכולה להתרחש אצלכם בזמן העבודה(שרפה לי לא מעט זמן):&lt;/p&gt;
&lt;p dir="rtl"&gt;מדובר על עבודה עם dll-ים שמועתקים אל ה GAC (&amp;quot;תענוג&amp;quot; שיצא לי להתעסק איתו לא מעט לאחרונה),&lt;/p&gt;
&lt;p dir="rtl"&gt;במהלך העבודה, לפתע, הפרויקט מפסיק להתקמפל, ומודיע שהפקודה:&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;d:\...\gacutil -i $(TargetFileName)&lt;/p&gt;
&lt;p dir="rtl"&gt;נכשלה, מה שאומר שלא הצליח הרישום ב GAC (פקודה זו נקראת ב post build event ).&lt;/p&gt;
&lt;p dir="rtl"&gt;סגירת ה visual studio או מחיקת קבצים זמניים של asp.net ו iisreset לא יעזרו לכם פה (למרות שלפעמים נראה שזה פותר את הבעיה).&lt;/p&gt;
&lt;p dir="rtl"&gt;מה שגיליתי(יותר נכון אמיתי גילה לי) זה שה indexing service (ב vista שינו את שמו ל Windows search ) גורם לבעיה (כנראה תופס את הקבצים)&lt;/p&gt;
&lt;p dir="rtl"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl"&gt;הפתרון – פשוט לעצור אותו ולנטרל אחת ולתמיד, הרי אף אחד לא משתמש ב search המובנה של windows:&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;1. start -&amp;gt;run&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;2. services.msc&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;3. select the &amp;quot;indexing service&amp;quot; / &amp;quot;Windows search&amp;quot; service and then stop it and then set the startup type to Disabled.&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;&lt;img src="http://farm3.static.flickr.com/2573/4001574025_9ed817dcfa.jpg" alt="indexingService" height="449" width="585" /&gt;&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;&lt;i&gt;on server 2003&lt;/i&gt;&lt;/p&gt;
&lt;p style="text-align:left;" dir="ltr"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl"&gt;(אם זה לא פותר את הבעיה, הנה לינק שמצאתי בעניין, מדבר על פתרונות ב &amp;nbsp;&amp;nbsp;&amp;nbsp;VISTA או בצורת הרישום:&lt;/p&gt;&lt;p dir="rtl"&gt; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/clr/thread/2c1c5363-1c48-40b3-bfa1-41d24c1a885b" target="_blank"&gt;http://social.msdn.microsoft.com/Forums/en-US/clr/thread/2c1c5363-1c48-40b3-bfa1-41d24c1a885b&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl"&gt;ממתי שניטרלתי את השירות הארור הזה, כל קימפול גם לוקח פחות זמן, ממש תענוג.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=423926" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/lifehack/default.aspx">lifehack</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/_D105E205D905D405_+_DE05E205E605D105E005EA05_/default.aspx">בעיה מעצבנת</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/GAC/default.aspx">GAC</category></item><item><title>Little LifeHack - editing your Hosts file in one click</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/09/27/Little-LifeHack-_2D00_-editing-your-Hosts-file-in-one-click.aspx</link><pubDate>Sun, 27 Sep 2009 11:33:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:413474</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=413474</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=413474</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/09/27/Little-LifeHack-_2D00_-editing-your-Hosts-file-in-one-click.aspx#comments</comments><description>&lt;p dir="rtl"&gt;בתור מפתח WEB יוצא לי לא מעט להתעסק עם קובץ ה &lt;a href="http://en.wikipedia.org/wiki/Hosts_file" target="_blank"&gt;hosts&lt;/a&gt;.&lt;/p&gt;
&lt;p dir="rtl"&gt;אני מקווה שאני לא מחדש לאף אחד שום דבר,אבל יוצא לי לא מעט לראות מפתחים שבכל פעם פותחים את הקובץ בצורה הבאה:&lt;/p&gt;
&lt;p dir="rtl"&gt;1. ניגשים אל התקייה C:\Windows\System32\drivers\etc&lt;/p&gt;
&lt;p dir="rtl"&gt;2. מנסים לפתוח את הקובץ&lt;/p&gt;
&lt;p dir="rtl"&gt;3. נפתח הדיאלוג של open with (יכול להיות ממש מעיק, כיוון שלפעמים לוקח לו המון זמן להיפתח)&lt;/p&gt;
&lt;p dir="rtl"&gt;4. בוחרים ב notepad&amp;nbsp; וממשיכים&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl"&gt;יש כאלה שמחזיקים בקיצור דרך אל הקובץ, אבל עדיין בכל פעם בוחרים באיזו תוכנה לפתוח את הקובץ.&lt;/p&gt;
&lt;p dir="rtl"&gt;&lt;b&gt;פתרון פשוט&lt;/b&gt;: להגדיר את notepad כתוכנה שתריץ את הקובץ מתוך קיצור הדרך:&lt;/p&gt;
&lt;p dir="rtl"&gt;1. צרו קיצור דרך אל קובץ ה hosts&lt;/p&gt;
&lt;p dir="rtl"&gt;2. במאפיינים של קיצור הדרך, ערכו את ה target (בטאב shortcut ) בצורה הבאה:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; במקום&lt;/p&gt;
&lt;p dir="ltr"&gt;C:\Windows\System32\drivers\etc\hosts&lt;/p&gt;
&lt;p dir="rtl"&gt;רשמו&lt;/p&gt;
&lt;p dir="ltr"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; notepad &amp;quot;C:\Windows\System32\drivers\etc\hosts&amp;quot;&lt;/p&gt;
&lt;p dir="rtl"&gt;3. למי שלא רוצה בכלל לגעת בעכבר, אפשר בנקודה זו גם להכניס קיצור מקשים&lt;/p&gt;
&lt;p dir="rtl"&gt;4. אם אתם עובדים עם vista אז צריך גם להגדיר שקיצור הדרך ירוץ כ administrator:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; בטאב ה shortcut ללחוץ על advanced &amp;gt; לסמן run as administrator&lt;/p&gt;
&lt;p dir="rtl"&gt;ב vista:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/avipinto/3958126054/" title="hosts by Avi Pinto, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2463/3958126054_8ac87620c4.jpg" style="border:0pt none;" alt="hosts" height="500" width="250" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p dir="rtl"&gt;תהנו&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=413474" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/lifehack/default.aspx">lifehack</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/hosts/default.aspx">hosts</category></item><item><title>נפתח עוד מסלול - קדימה להירשם - IDCC</title><link>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/09/09/IDCC-2009-More-sessions-were-added-thanks-to-you.aspx</link><pubDate>Thu, 10 Sep 2009 02:42:00 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:401082</guid><dc:creator>Avi Pinto</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/rsscomments.aspx?PostID=401082</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.microsoft.co.il/blogs/pintyo/commentapi.aspx?PostID=401082</wfw:comment><comments>http://blogs.microsoft.co.il/blogs/pintyo/archive/2009/09/09/IDCC-2009-More-sessions-were-added-thanks-to-you.aspx#comments</comments><description>&lt;div dir="rtl"&gt;&lt;a href="http://www.idcc.co.il/sessions" target="_blank"&gt;בחרתם, הצבעתם&lt;/a&gt;&amp;nbsp; &lt;a href="http://idcc.co.il/register" target="_blank"&gt;ונרשמתם &lt;/a&gt;ובזכותכם נפתח עוד מסלול!!&lt;br /&gt;תודה לכל הנרשמים.
&lt;div dir="rtl"&gt;ולאלה שלא נרשמו עדיין, נשארו עוד מקומות, וחבל לפספס. &lt;/div&gt;&lt;div dir="rtl"&gt;&amp;nbsp;&lt;/div&gt;

&lt;div dir="rtl"&gt;. &lt;a href="http://idcc.co.il/" target="_blank"&gt;&lt;img src="http://farm3.static.flickr.com/2459/3882370824_298012b840.jpg" style="border:0pt none;" alt="idcc2009" height="257" width="591" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="rtl"&gt;&lt;a href="http://www.idcc.co.il/sessions"&gt;את הלו&amp;quot;ז והפירוט הסופי של ההרצאות ניתן לראות באתר הכנס&lt;/a&gt;,&lt;/div&gt;&lt;div dir="rtl"&gt; נכון לעכשיו:&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10.5pt;"&gt;רישום, התכנסות וכיבוד קל&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;&lt;b&gt;&lt;/b&gt;08:30-09:00&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;&lt;a href="http://idcc.co.il/people/10031" target="_blank"&gt;&lt;span&gt;Udi Dahan&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/reliability-availability-and-scalability-how-to-have-your-cake-and-eat-it-too" target="_blank"&gt;Reliability, Availability, Scalability – How to have your cake, and eat it too&lt;/a&gt;&lt;br /&gt;VS&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10002" target="_blank"&gt;&lt;span&gt;Alon Fliess&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/dive-into-the-internals-of-windows" target="_blank"&gt;Dive into the internals of windows&lt;/a&gt;&lt;br /&gt;09:00-10:15&lt;br /&gt; &lt;br /&gt;הפסקה&lt;br /&gt;10:15-10:30&lt;br /&gt;&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10021" target="_blank"&gt;&lt;span&gt;Oren Eini&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/building-scalable-systems" target="_blank"&gt;Building Scalable Systems&lt;/a&gt;&lt;br /&gt;VS&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10019" target="_blank"&gt;&lt;span&gt;Noam King&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/do-it-right-building-a-complete-site-with-asp-net-mvc-fw" target="_blank"&gt;Do it right – Building a complete site with ASP.NET MVC Framework&lt;/a&gt;&lt;br /&gt;10:30-11:45&lt;br /&gt; &lt;br /&gt;הפסקת צהריים, כיבוד קל&lt;br /&gt;11:45-12:30&lt;br /&gt; &lt;br /&gt;&lt;a href="http://idcc.co.il/people/10004" target="_blank"&gt;&lt;span&gt;Ariel Ben Horesh&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/patterns-of-a-successful-application" target="_blank"&gt;Patterns of a successful application&lt;/a&gt;&lt;br /&gt;VS&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10041" target="_blank"&gt;&lt;span&gt;Dan Amiga&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/asp-dot-net-4-dot-0-deep-dive" target="_blank"&gt;ASP.NET 4.0 Deep Dive&lt;/a&gt;&lt;br /&gt;12:30-13:45&lt;br /&gt; &lt;br /&gt;הפסקה&lt;br /&gt;13:45-14:00&lt;br /&gt;&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10024" target="_blank"&gt;&lt;span&gt;Roy Osherove&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/beautiful-teams-and-code-leaders" target="_blank"&gt;Beautiful teams and code leaders&lt;/a&gt;&lt;br /&gt;VS&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10025" target="_blank"&gt;&lt;span&gt;Sasha Goldshtein&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/dot-net-application-performance-best-practices-and-tales-from-the-field" target="_blank"&gt;NET Application Performance: Best Practices and Tales from the Field&lt;/a&gt;&lt;br /&gt;14:00-15:15&lt;/div&gt;&lt;div style="text-align:left;" dir="ltr"&gt;&lt;br /&gt;הפסקה&lt;br /&gt;15:15-15:30&lt;br /&gt;&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10029" target="_blank"&gt;&lt;span&gt;Shlomo Goldberg&lt;/span&gt;&lt;/a&gt; - &lt;span&gt;&lt;a href="http://idcc.co.il/sessions/what-s-new-in-c-4-0" target="_blank"&gt;What’s new in C# 4.0&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;VS&lt;br /&gt;&lt;a href="http://idcc.co.il/people/10039" target="_blank"&gt;&lt;span&gt;Ariel Raunstien&lt;/span&gt;&lt;/a&gt; - &lt;a href="http://idcc.co.il/sessions/building-a-testing-eco-system-not-just-unit-tests" target="_blank"&gt;Building a Testing Eco-system - Not Just UnitTests&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;15:30-16:45&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;מליאת סיום חלוקת פרסים&lt;/div&gt;
&lt;div style="text-align:left;" dir="ltr"&gt;16:45-17:00&lt;/div&gt;
&lt;/div&gt;
&lt;div dir="rtl"&gt;מצפה לנו כנס מרתק.&lt;/div&gt;
&lt;div dir="rtl"&gt;ניפגש ביום שני במרכז הבינתחומי בהרצליה.&lt;/div&gt;&lt;div dir="rtl"&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir="rtl"&gt;ייתכן ויהיו שינויים בלו&amp;quot;ז או בסדר של ההרצאות, לכן מומלץ לעקוב אחרי &lt;a href="http://www.idcc.co.il/sessions" target="_blank"&gt;האתר של הכנס&lt;/a&gt;.&lt;/div&gt;&lt;div dir="rtl"&gt;וכמעט שכחתי, יש גם &lt;a href="http://www.facebook.com/event.php?eid=243750810572" target="_blank"&gt;אירוע בפייסבוק&lt;/a&gt; למי שמעוניין לעקוב דרכו.&lt;/div&gt;&lt;div dir="rtl"&gt;&amp;nbsp;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=401082" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/idcc09/default.aspx">idcc09</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/israel/default.aspx">israel</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/idcc/default.aspx">idcc</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/community/default.aspx">community</category><category domain="http://blogs.microsoft.co.il/blogs/pintyo/archive/tags/.net/default.aspx">.net</category></item></channel></rss>