0

我的母版页上有一个下拉菜单,允许用户在运行时从任何页面切换语言:

<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 中的某些设置造成的,因为该站点基本上是旧站点的副本,但是哪个设置可能导致这样的事情?

4

1 回答 1

1

在下面的 url 中搜索“在 IIS 7 或 IIS 7.5 集成模式下的默认文档中可能不会引发事件处理程序”

http://www.asp.net/whitepapers/aspnet4/break-changes

于 2012-03-20T13:35:09.953 回答