0

誰でも ie8 ブラウザでこの簡単なコードを試して、ページを更新してみてください。

IE8 では、更新時に getelementbyid の周りでエラーが発生します。

実行すると、「ctl00_main_dd」の ID を持つコントロールが見つからないというエラーが表示されます

<cc1:CollapsiblePanelExtender ID="CollapsiblePanelExtender2" runat="server"     
     ImageControlID="Image2" CollapsedImage="~/App_Themes/IMStandard/icons/uparrow.png"
    ExpandedImage="~/App_Themes/IMStandard/icons/downarrow.png"
     CollapseControlID="dd" ExpandControlID="dd"
     TargetControlID="pnlQuickKeywordSearch"
     SuppressPostBack="true">
</cc1:CollapsiblePanelExtender>
 <asp:Panel ID="dd" runat="server">
    <h3 class="loginHeader">
        <asp:Image ID="Image2" runat="server" />
        &nbsp;&nbsp;Quick Keyword search&nbsp;<asp:Image ID="HelpIconImage" runat="server"
            Width="16px" Height="16px" ImageUrl="~/App_Themes/IMStandard/icons/help.png" /></h3>
</asp:Panel>
 <asp:Panel ID="pnlQuickKeywordSearch" Style="float: left; border: double 3px #C9DF86;"
    runat="server" >
    <div style="clear: both; padding: 5px;">
    </div></asp:Panel>

なぜこれが起こっているのか知っている人はいますか?それはie8のバグですか、それとも何か不足していますか?

ちなみに、私はマスターページを使用していますが、それとは何の関係もないと思います。

ありがとう

4

2 に答える 2

0

この例は、Windows 7 で実行されている IE8 で機能します。ID 'ctl00_main_dd' は、通常、生成されたクライアント側 ID です (VS2010 では、クライアント側 ID を指定できます)。

展開/折りたたみコントロールに asp:panel の代わりに div を使用できますか?

<div ID="dd">
    <h3 class="loginHeader">
        <asp:Image ID="Image2" runat="server" />
          Quick Keyword search <asp:Image ID="HelpIconImage" runat="server"
            Width="16px" Height="16px" ImageUrl="~/App_Themes/IMStandard/icons/help.png" /></h3>
</div>

折りたたみ可能なパネル エクステンダーは、静的な「dd」クライアント ID を見つけることができるはずです。

02.06 を追加: IE8 のみで発生する理由について、推測がつかない

私はチェックします=>

1)マスターページの正しいDoctype

DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”

2) IE8 に互換表示ボタンがある場合は、それをクリックします。

3) すべての VS、フレームワーク、およびツールキットが最新バージョン (SP1) であることを確認します。

于 2009-06-01T07:32:03.387 に答える