2

modalPopup コントロールを IE8 で使用すると問題が発生します。popUpする必要があるパネルはすでにポップアップしています。

(IE 8 よりも新しいブラウザーで) 見えると思われるように、パネルが一列に並んでいて、そのうちの 1 つをクリックすると、ウィンドウがポップアップします (AJAX modalPopUp を使用)。 パネル一覧 ポップアップウィンドウ

また、IE8 では、リスト内のパネルのいずれかをクリックしなくても、ポップアップ ウィンドウ (パネル) が表示されます。

ここに画像の説明を入力

コードは次のとおりです。

<asp:updatepanel id="UpdatePanel1" runat="server">
<contenttemplate>
<asp:panel id="PanelManufacturerPictures" runat="server" scrollbars="Auto" width="100%">
<asp:datalist id="DataListManufacturersPictures" runat="server" cellpadding="5" repeatdirection="Horizontal" repeatcolumns="11" showfooter="False" showheader="False" cellspacing="16">
<itemstyle height="75px" width="75px"/>
<itemtemplate>
    <asp:imagebutton id="ImageButtonManufacturerPicture" runat="server" alternatetext='<%# eval("manufacturername") %>' Height="100%" ImageUrl='<%# "~/elimansourwcf/manufacturerspictures/"+databinder.eval(container.dataitem, "imageurl") %>' ToolTip='<%# eval("manufacturername") %>' Width="100%" CausesValidation="False" /> <asp:roundedcornersextender id="RoundedCornersExtenderDetailsManufacturers" runat="server" targetcontrolid="PanelManufacturersDetails" radius="8" bordercolor="Red">
</asp:roundedcornersextender>
<asp:modalpopupextender id="ModalPopupExtenderManufacturerDetails" runat="server" popupcontrolid="PanelManufacturersDetails" targetcontrolid="ImageButtonManufacturerPicture" backgroundcssclass="modalBackgroundProducts" cancelcontrolid="ButtonManuCancel">
</asp:modalpopupextender>
<asp:panel id="PanelManufacturersDetails" runat="server" backcolor="White">
<div dir="rtl">
    <asp:label id="LabelManufacturerName" runat="server" font-bold="True" font-size="XX-Large"></asp:label>
    <div style="float: right;">
        <asp:table id="TableDetails" runat="server" cellpadding="15" font-bold="True" cellspacing="15">
        <asp:tablerow id="TableRow5" runat="server">
        <asp:tablecell id="TableCell8" runat="server" width="100px" horizontalalign="Left" columnspan="2">
        <asp:roundedcornersextender id="RoundedCornersExtenderDetailsManufacturerCancel" runat="server" targetcontrolid="ButtonManuCancel" radius="8">
        </asp:roundedcornersextender>
        <asp:button id="ButtonManuCancel" runat="server" text="צא מחלון זה" width="75px" causesvalidation="False" backcolor="Red" forecolor="White" font-bold="True"/>
        </asp:tablecell>
        </asp:tablerow>
        </asp:table>
    </div>
</div>
</asp:panel>
</itemtemplate>
</asp:datalist>
</asp:panel>
</contenttemplate>
</asp:updatepanel>

投稿を見ました:

Ajax ModalPopup が IE8 で間違って表示される - IE9 しかし、css "position: absolute;" をどこに置くべきかわかりませんでした。

サイトの URL は次のとおりです。

www.emansour.co.il

ご協力ありがとうございました

[編集] Bounded Data Control で modalPopup を使用すると、この問題が発生することに気付きました。

4

1 に答える 1

2

あなたのエラーは、のいずれかが原因で発生していRoundedCornersExtenderます。何らかの理由で、多数のPanelsコントロールとUpdatePanels. RoundedCornersExtenderボタンをスタイリングしている を削除することで、問題を解決しました。このRoundedCornersExtenderコントロールを削除し、コードに次の css クラスを追加して、ボタンの角を丸くします。

.rounded
{
    color: white;
    background-color: red;
    font-weight: bold;
    width: 75px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    border: 0px none;
}

次に、スタイルをボタンに適用します。

<asp:Button ID="ButtonManuCancel" runat="server" Text="צא מחלון זה" Width="75px" CausesValidation="False" BackColor="Red" ForeColor="White" Font-Bold="True" CssClass="rounded" />

もう一方を残してRoundedCornersExtenderIEでテストしましたが、エラーが発生しませんでした。AjaxToolkit は非常に便利な場合もありますが、それ以外の場合は非常に面倒です。これらのような単純な機能 (単純な css) を追加したい場合は、そのような単純なことに ControlExtension を使用しないことをお勧めします。より複雑なものには Ajax.net コントロールを使用するか、まったく使用しないようにします。

于 2013-04-17T20:48:08.717 に答える