我到处寻找,但没有找到解决方案。希望您能提供帮助:
我正在维护一个用 VB.NET 编写并在 Framework 2.0 下运行的网站。
在我的一个页面中,我在 UpdatePanel 中有一个下拉控件:
<asp:UpdatePanel ID="pnlDropDown" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:DropDownList ID="ddlTest" runat="server" Width="400"
OnSelectedIndexChanged="ddlTest_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Text="--- Please Select ---" Selected="True"></asp:ListItem>
<asp:ListItem Text="111"></asp:ListItem>
<asp:ListItem Text="222"></asp:ListItem>
<asp:ListItem Text="333"></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
在这个控件的处理程序中,我调用了 ScriptManager.RegisterStartupScript:
Protected Sub ddlTest_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
ScriptManager.RegisterStartupScript(Me, GetType(Page), "Test", "alert('Test'); ", True)
End Sub
现在这是我的问题:当我从下拉列表中选择一个值时,“RegisterStartupScript”方法将不起作用,但它仅在项目在 IIS 6 和 Framework 2.0 下运行时才会发生。- 如果我将其更改为在 IIS 7 下运行,它可以完美运行。- 如果我将其更改为在 Framework 4.0 下运行,它可以完美运行。- 如果我删除 UpdatePanel 部分,它可以工作。
但是,如果我不改变任何东西,它就不会做任何事情。
在我更改整个代码以使用 jquery 和 ajax 之前有什么解决方案吗?:)
谢谢,
奥瑞特。