带有updatepanel的PopupControlExtender:chrome问题

时间:2011-09-14 10:28:13

标签: c# asp.net ajax updatepanel ajaxcontroltoolkit

<asp:Panel ID="CreateGroupPanel" runat="server" 
           CssClass="style10" Visible="True" >
                <asp:ToolkitScriptManager ID="ToolkitScriptManager1" 
                                          runat="server">
                </asp:ToolkitScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
....
</ asp:UpdatePanel>
</asp: Panel>

<asp:Button ID="Btn_CreateGroupPopUp " 
            runat="server" 
            Text="Create Group" 
            Width="109px" />
<asp:PopupControlExtender ID="PopupControlExtender1" runat="server"
                          DynamicServicePath=""
                          Enabled="True" ExtenderControlID="" 
                          TargetControlID="Btn_CreateGroupPopUp" 
                          PopupControlID="CreateGroupPanel">
</asp:PopupControlExtender>

此处面板在单击按钮btn_CreateGroupPopUp时弹出。它适用于Internet Explorer,但是当我用chrome打开网站时,会弹出窗口,然后页面自动刷新,弹出窗口关闭。有什么问题,我的页面没有任何时间或元刷新。

1 个答案:

答案 0 :(得分:2)

我做了一些研究,并且我发现你应该有这样的东西让UpdatePanel使用webkit(这是Safari和Chrome的引擎):

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/Scripts/Safari3AjaxHack.js" />
    </Scripts>
</asp:ScriptManager>


Sys.Browser.WebKit = {}; //Safari 3 is considered WebKit
if( navigator.userAgent.indexOf( 'WebKit/' ) > -1 )
{
  Sys.Browser.agent = Sys.Browser.WebKit;
  Sys.Browser.version = parseFloat( navigator.userAgent.match(/WebKit\/(\d+(\.\d+)?)/)[1]);
  Sys.Browser.name = 'WebKit';
}

你可以在互联网上查看关于UpdatePanel不能在chrome或safari中工作的许多链接,我相信我在SO中也看到了类似的问题......

http://forums.asp.net/p/1252014/2898429.aspx

http://blog.lavablast.com/post/2008/10/Gotcha-WebKit-%28Safari-3-and-Google-Chrome%29-Bug-with-ASPNET-AJAX.aspx