<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Programming and Learning from SD</title>
        <link>http://geekswithblogs.net/Aligned/Default.aspx</link>
        <description />
        <language>en-US</language>
        <copyright>Aligned</copyright>
        <managingEditor>klogan@omnitech-inc.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Programming and Learning from SD</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/Aligned/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Uncaught SyntaxError: Unexpected token u. file JavaScript Error in MVC</title>
            <category>JavaScript</category>
            <category>MVC 4</category>
            <link>http://geekswithblogs.net/Aligned/archive/2013/05/20/uncaught-syntaxerror-unexpected-token-u.-file-javascript-error-in-mvc.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/20/uncaught-syntaxerror-unexpected-token-u.-file-javascript-error-in-mvc.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/20/uncaught-syntaxerror-unexpected-token-u.-file-javascript-error-in-mvc.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I was getting a JavaScript error that pointed to line number 1 of my MVC page. I have a form on the page and expected the Unobtrusive Validation to work with the Data Annotations. It took me a while to realize the validation messages weren't showing. After I while I found that I was missing the&lt;strong&gt; @Html.ValidationMessageFor(m =&amp;gt; m.Name)&lt;/strong&gt;. Adding that for each field fixed it.&lt;/p&gt;  &lt;p&gt;My password reset with token example. I was missing line 12 and 17.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;@using (Html.BeginForm("PasswordReset", "Home"))&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    @Html.AntiForgeryToken()&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    @Html.ValidationSummary()&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;fieldset&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;legend&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;@HomeViewResource.ChangePasswordFormTitle&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;legend&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ol&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                @Html.LabelFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.NewPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                @Html.PasswordFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.NewPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                @Html.ValidationMessageFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.NewPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;                @Html.LabelFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.ConfirmPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;                @Html.PasswordFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.ConfirmPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;                @Html.ValidationMessageFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetModel.ConfirmPassword)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ol&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="submit"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="btn btn-primary"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="@HomeViewResource.ChangePasswordButtonText"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;fieldset&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    @Html.HiddenFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.PasswordResetToken)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    @Html.HiddenFor(m =&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; m.UserId)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;


&lt;font color="#000000" size="2" face="Consolas"&gt;&lt;/font&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152962.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Aligned</dc:creator>
            <guid>http://geekswithblogs.net/Aligned/archive/2013/05/20/uncaught-syntaxerror-unexpected-token-u.-file-javascript-error-in-mvc.aspx</guid>
            <pubDate>Mon, 20 May 2013 18:45:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Aligned/comments/152962.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Aligned/archive/2013/05/20/uncaught-syntaxerror-unexpected-token-u.-file-javascript-error-in-mvc.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152962.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152962.aspx</trackback:ping>
        </item>
        <item>
            <title>Use the NotMapped Attribute with Entity Framework in Partial Classes</title>
            <category>Entity Framework</category>
            <link>http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I wanted to add a property to send to my JavaScript class through WebApi, but didn’t want it in the database. I was getting an error telling me I had an invalid name on the EF 5 selection from the database. Adding the &lt;a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.notmappedattribute(v=vs.103).aspx" target="_blank"&gt;NotMapped attribute&lt;/a&gt; to the property did the trick. I get it on the JavaScript side as well. I found the answer (again) on &lt;a href="http://stackoverflow.com/questions/10389595/ef-code-first-migration-ignore-property" target="_blank"&gt;StackOverflow&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Example:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ComponentAttribute
{
    [NotMapped]
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; IsModified { get; set; }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152932.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Aligned</dc:creator>
            <guid>http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx</guid>
            <pubDate>Wed, 15 May 2013 21:32:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Aligned/comments/152932.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Aligned/archive/2013/05/15/use-the-notmapped-attribute-with-entity-framework-in-partial-classes.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152932.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152932.aspx</trackback:ping>
        </item>
        <item>
            <title>jQuery 1.9.1+ Ajax Post is Failing even though it has a 200 Status</title>
            <category>jQuery</category>
            <category>JavaScript</category>
            <link>http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I’m using my &lt;a href="http://geekswithblogs.net/Aligned/archive/2013/04/12/dataservice-and-ajaxservice.aspx" target="_blank"&gt;DataService and AjaxService for JavaScript&lt;/a&gt; and upgraded to jQuery 1.9.1. One of my post methods, which was working before, started hitting the deferred fail, instead of the deferred’s done, even though the status code was 200. This method is not returning any JSON to the caller. The &lt;a href="http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string" target="_blank"&gt;1.9 upgrade guide&lt;/a&gt; states “Prior to 1.9, an ajax call that expected a return data type of JSON or JSONP would consider a return value of an empty string to be a success case, but return a null to the success handler or promise. As of 1.9, an empty string returned for JSON data is considered to be malformed JSON (because it is); this will now throw an error. Use the error handler to catch such cases.”. This &lt;a href="http://forum.jquery.com/topic/jquery-calls-error-callback-on-successful-ajax-request-status-200" target="_blank"&gt;question on the forums&lt;/a&gt; lead me to the upgrade guide and “Identifier” says to return a 204 instead. I change my WebApi method to return a 204 and now it’s working again.&lt;/p&gt;  &lt;p&gt;I now am using return this.Request.CreateResponse(HttpStatusCode.NoContent);&lt;/p&gt;  &lt;p&gt;Here’s the method:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;[System.Web.Mvc.HttpPost]
&lt;span class="kwrd"&gt;public&lt;/span&gt; HttpResponseMessage UpdateAlias(JObject jsonData)
{
    &lt;span class="rem"&gt;// http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling&lt;/span&gt;
    &lt;span class="rem"&gt;// http://www.west-wind.com/weblog/posts/2012/May/08/Passing-multiple-POST-parameters-to-Web-API-Controller-Methods&lt;/span&gt;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; assetId = 0;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; userId = 0;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; alias = &lt;span class="kwrd"&gt;string&lt;/span&gt;.Empty;
    &lt;span class="kwrd"&gt;try&lt;/span&gt;
    {
        assetId = jsonData[&lt;span class="str"&gt;"AssetId"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();
        userId = jsonData[&lt;span class="str"&gt;"UserId"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;int&lt;/span&gt;&amp;gt;();
        alias = jsonData[&lt;span class="str"&gt;"Alias"&lt;/span&gt;].Value&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;&amp;gt;();
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (assetId == 0)
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"Asset Id is required."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (userId == 0)
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"User Id is required."&lt;/span&gt;);
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrWhiteSpace(alias))
        {
            &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ArgumentException(&lt;span class="str"&gt;"Alias is required and cannot be empty."&lt;/span&gt;);
        }
        
        &lt;span class="rem"&gt;// more code here…&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;        // notice the noContent&lt;/span&gt;
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;this&lt;/span&gt;.Request.CreateResponse(HttpStatusCode.NoContent);
    }
    &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)
    {
        &lt;span class="kwrd"&gt;this&lt;/span&gt;._logger.Warn(&lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"Error in UpdateAlias assetId:{0}, userId:{1}, new alias: {2}"&lt;/span&gt;, assetId, userId, alias), ex);
        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; HttpResponseException(&lt;span class="kwrd"&gt;new&lt;/span&gt; HttpResponseMessage
                                        {
                                            StatusCode = HttpStatusCode.InternalServerError,
                                            Content = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringContent(&lt;span class="str"&gt;"Error!"&lt;/span&gt;)
                                        });
    }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152897.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Aligned</dc:creator>
            <guid>http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx</guid>
            <pubDate>Wed, 08 May 2013 14:41:26 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Aligned/comments/152897.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Aligned/archive/2013/05/08/jquery-1.9.1-ajax-post-is-failing-even-though-itrsquos-a.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152897.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152897.aspx</trackback:ping>
        </item>
        <item>
            <title>Handling IE 9 &amp;amp; 10's and Chrome&amp;rsquo;s clear button with Knockout binding</title>
            <category>Knockout Js</category>
            <link>http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Our tester found a bug with my search box. The search box filters a grid using observables. IE 9 and 10, and Crome adds in a x clear option, this wasn’t changing the observable, so the filter wasn’t getting cleared out.&lt;/p&gt;  &lt;p&gt;&lt;a title="image from SO" href="http://i.stack.imgur.com/0uxtg.png" target="_blank"&gt;&lt;img src="http://i.stack.imgur.com/0uxtg.png" /&gt;&lt;/a&gt;    &lt;br /&gt;(image from &lt;a href="http://stackoverflow.com/questions/13481577/how-can-i-disable-the-clear-button-that-ie10-inserts-into-textboxes" target="_blank"&gt;SO&lt;/a&gt; question)&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="searchTextBox"&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;="searchTextBox"&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text"&lt;/span&gt; &lt;span class="attr"&gt;maxlength&lt;/span&gt;&lt;span class="kwrd"&gt;="25"&lt;/span&gt;
       &lt;span class="attr"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;="Search"&lt;/span&gt; &lt;span class="attr"&gt;placeholder&lt;/span&gt;&lt;span class="kwrd"&gt;="Search"&lt;/span&gt;
       &lt;span class="attr"&gt;data-bind&lt;/span&gt;&lt;span class="kwrd"&gt;="value: GridVm.FilterText,
       valueUpdate: 'afterkeydown',
       disable: GridVm.Data().length == 0"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;I posted &lt;a href="http://stackoverflow.com/questions/16421463/handle-ie-9-10s-clear-button-with-knockout-binding/" target="_blank"&gt;my question and ended up answering my own question on StackOverflow&lt;/a&gt; and thought I would share it here as well.&lt;/p&gt;

&lt;p&gt;My solution involves using the &lt;a title="http://knockoutjs.com/documentation/event-binding.html" href="http://knockoutjs.com/documentation/event-binding.html"&gt;http://knockoutjs.com/documentation/event-binding.html&lt;/a&gt; and &lt;a href="http://stackoverflow.com/questions/14700466/attach-event-to-clear-icon-in-ie10-textbox" target="_blank"&gt;the input event&lt;/a&gt;.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="search"&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="input1"&lt;/span&gt; &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;  &lt;span class="attr"&gt;data-bind&lt;/span&gt;&lt;span class="kwrd"&gt;="value: textForBox, &lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;    valueUpdate: 'afterkeydown',
    event: { input: cleared }"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;br /&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; vm = {
    textForBox: ko.observable(),
    cleared: &lt;span class="kwrd"&gt;function&lt;/span&gt; (data, &lt;span class="kwrd"&gt;event&lt;/span&gt;) {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;event&lt;/span&gt;.currentTarget.value === &lt;span class="str"&gt;''&lt;/span&gt;) {
           &lt;span class="kwrd"&gt;this&lt;/span&gt;.textForBox(&lt;span class="str"&gt;''&lt;/span&gt;);
        }
    }
};
ko.applyBindings(vm);&lt;/pre&gt;

&lt;pre class="csharpcode"&gt; &lt;/pre&gt;
See &lt;a href="http://jsfiddle.net/logankd/LH7RT/" target="_blank"&gt;my jsFiddle showing the solution&lt;/a&gt;. 

&lt;p&gt;Hope it helps!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/152886.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Aligned</dc:creator>
            <guid>http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx</guid>
            <pubDate>Tue, 07 May 2013 16:02:18 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/Aligned/comments/152886.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/Aligned/archive/2013/05/07/handling-ie-9-amp-10s-and-chromersquos-clear-button-with.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/152886.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/152886.aspx</trackback:ping>
        </item>
    </channel>
</rss>