我的母版页上有一个下拉菜单,允许用户在运行时从任何页面切换语言:
<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>
通过 VS2010 在我的本地机器上运行它时,它工作正常,并SelectedIndexChanged
在更改语言时被触发。但是,当将此部署到实时服务器(运行 IIS 7.5)并输入地址到我的网站时,例如http://www.mysite.com/不会SelectedIndexChanged
被触发,不会在任何列表控件中,除非我输入完整的 URL 到我的网站:http: //www.mysite.com/default.aspx。然后它起作用了!
如何以及为什么?我在另一台使用 IIS7 的服务器上运行相同的站点(我认为),并且仅在输入 _http://www.mysite.com/ 时触发该事件
我怀疑这是由于 IIS 7.5 中的某些设置造成的,因为该站点基本上是旧站点的副本,但是哪个设置可能导致这样的事情?