0

IE 6 でモーダル radwindow を起動すると、親ページに表示されるドロップダウンが非表示になります。それらが非表示になると、モーダルが閉じられた後でも消えます。これらは純粋な ASP.NET ドロップダウン リストです。非表示のドロップダウンについて特別なことは何もありません。新しいドロップダウンをページに追加しても、起動時に消えてしまいます。そこに何かアイデアはありますか?

Windows 2000 を実行している仮想マシンで IE 6 (6.0.2600) を使用してテストしている Telerik の ASP.NET AJAX コントロールの ASP.NET 3.5、2009 Q3 を使用しています。

この問題は当初、はるかに複雑なページで発生しましたが、CSS を使用せず、必要最小限の要素のみを使用してまったく新しいページを作成しましたが、IE 6 でも発生します。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits=".WebForm1" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="manager1" runat="server">
        </telerik:RadScriptManager>

        <asp:DropDownList ID="ddl1" runat="server">
            <asp:ListItem Value="1">Item 1</asp:ListItem>
            <asp:ListItem Value="2">Item 2</asp:ListItem>
            <asp:ListItem Value="3">Item 2</asp:ListItem>
        </asp:DropDownList>
        <asp:Button ID="btn1" runat="server" OnClientClick="ShowModal(); return false;" Text="click" />
    </div>
            <telerik:RadWindowManager ID="RadWindowManager1" runat="server" />
    <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">

        <script type="text/javascript">
            function ShowModal() {
                var wnd = radopen('<%=ResolveUrl("~/register.aspx") %>', null);
                wnd.set_modal(true);
                wnd.center();
                wnd.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Resize);
                wnd.show();
                return false;
            }
        </script>

    </telerik:RadScriptBlock>
    </form>
</body>
</html>

modal を true に設定して radwindow を表示すると、ドロップダウンの可視性属性が非表示に設定されているようです。モーダルがfalseに設定されているため、ドロップダウンは問題ありません...ありがとう

ダン・アップルヤード

4

2 に答える 2

1

私たちはTelerik のフォーラムで話しましたが、他のユーザーに役立つ可能性があるため、ここに情報を追加したかっただけです。

ここでの問題はロジックにあります。コードを使用して、次のことを行います。

  1. RadWindow コントロールを開く
  2. modal プロパティを true に設定します。この場合、IE6 でドロップダウンを非表示にしています。
  3. コントロールの動作を設定する
  4. ウィンドウを中央に配置します(動作を設定した後にウィンドウを再描画するためにこれを行うと想定しています)。
  5. show() メソッドを再度呼び出します。モーダルなウィンドウに対して show() を呼び出しているため、ドロップダウンを非表示にするコードが再度実行されます。これが、ウィンドウを閉じた後にドロップダウンが表示されない理由です。

この問題を回避するには、show() を再度呼び出すのではなく、最後に center() メソッドを呼び出すことをお勧めします。

IE6 では、RadWindow はドロップダウンを明示的に非表示にします。これは、IE7 より前では、ドロップダウンとリスト項目は、RadWindow のモーダル背景を含む、ページ上のすべての DHTML 要素の上にレンダリングされる重いオブジェクトであったためです。これにより、モーダル RadWindow が表示されている場合でも、ユーザーは親ページのドロップダウンを使用できるようになりました。これを避けるために、ブラウザが IE7+ の場合はドロップダウンを無効にし、IE6 の場合はドロップダウンを完全に非表示にします。

于 2010-07-07T08:59:52.920 に答える
0

実行している ASP.NET のバージョンと Teleriks Rad Window のバージョンは? 古いバージョンでは多くの問題がありましたが、新しいバージョンはうまく機能しているようです。

別のページでテストします。

  1. ランダムに埋められたいくつかの DDL で新しいページを作成します
  2. それに基本的な rad ウィンドウ コントロールを追加し、呼び出せるように接続します。

問題を再現できるかどうかを確認します。できない場合は、CSS、JavaScript、または HTML マークアップが原因である可能性が高くなります。

編集:IE6にはドロップダウンの問題があることも覚えておいてください。通常、主な問題は、ドロップダウン リストが常に他のすべてのコントロールの上にあることですが、それがブラウザーに関連するものである場合、私は息を止めません。

于 2010-06-25T17:39:21.477 に答える