I have a dropdown on my master page that lets the user switch language at runtime from any page:
<asp:DropDownList ID="cmbCulture" runat="server" Font-Size="X-Small" EnableViewState="true"
AutoPostBack="True" OnSelectedIndexChanged="cmbCulture_SelectedIndexChanged">
<asp:ListItem Text="Global" Value="en" />
<asp:ListItem Text="Swedish" Value="sv" />
<asp:ListItem Text="German" Value="de" />
<asp:ListItem Text="USA" Value="en-US" />
</asp:DropDownList>
When running this on my local machine through VS2010 it works fine and SelectedIndexChanged gets fired when changing language.
However, when deploying this to live server (running IIS 7.5) and entering the address to my site e.g. http://www.mysite.com/ the SelectedIndexChanged does NOT get fired, not on any list control UNLESS I enter the full URL to my site: http://www.mysite.com/default.aspx. Then it works!
How and why?
I have the same site running on another server with IIS7 (I think) and the event is fired when entering only _http://www.mysite.com/
I suspect this is due to some setting in IIS 7.5 since the site is basically a copy of the old site, but which setting could cause something like this?
Search the “Event Handlers Might Not Be Not Raised in a Default Document in IIS 7 or IIS 7.5 Integrated Mode” in below url
http://www.asp.net/whitepapers/aspnet4/breaking-changes