title: What are the side-effects of using "invalid" attributes on an asp control?
body: <p>For a <code>&lt;select&gt;</code> control, we can use the <code>onchange</code> attribute to run some javascript when the option value changes.  Intellisense would lead me to believe that the <code>asp:ListBox</code> control does not hold this attribute (as you'll get underlining in visual studio telling you that this is invalid).  However, this works.  </p>
  
  <pre><code>&lt;asp:ListBox  ID="roleList"  OnChange="someJavascriptCall()" runat="server" Visible="true" Rows="3"&gt;
  </code></pre>
  
  <p>Try typing that code into visual studio, and you'll have your OnChange attribute calling you out.  Why is this?  Are there any side effects to using this attribute?</p>