1

Telerikコントロールのバージョン4.0にアップグレードしていますが、何らかの理由でRadWindow Modalオプションが機能しません(もちろん)。

マスターページですべてのウィンドウを定義し、ユーザーコントロールのボタンクリックでjavascriptを実行してウィンドウを開きます。

<radW:RadWindowManager ID="RadWindowManager1" runat="server" Behavior="none" Skin="Outlook" Modal="true"
        VisibleStatusbar="False" VisibleTitlebar="false">
    <Windows>
        <radW:RadWindow ID="Help" runat="server" Title="Help" Height="600" Width="975" ReloadOnShow="True"
            Modal="True" OnClientClose="InvolvementCallBackFunction" OnClientShow="OnClientShow" OnClientPageLoad="OnClientPageLoad" ShowContentDuringLoad="false" />
    </Windows>
</radW:RadWindowManager>

Js

function ShowPopupForm(location, formName, returnValue) {
    var oManager = GetRadWindowManager();
    var oWnd = oManager.getWindowByName(formName);
    oWnd.set_modal(true);
    oWnd.setUrl(location);
    oWnd.show();
    return returnValue;
}

ボタンをクリックするとウィンドウが表示されますが、モーダルではありません。

奇妙なことに、すべてが同じページにあり、OpenerElementID属性を使用している場合、これを機能させることができます。

何か案は?

4

2 に答える 2

1

これは奇妙な振る舞いです。ページのCSSを調べて、独自のスタイルシートの一部がTelerikクラスと相互に関連しているかどうかを確認しましたか?独自のCSSをすべて無効にして、モダリティが修正されるかどうかを確認してください。また、マークアップでModalプロパティがすでにtrueに設定されているため、set_modal(true)呼び出しは必要ないと思います。

また、別の考えが思い浮かびます。複数のマネージャーがある場合、GetRadWidnowManager()は、モーダルではない他のマネージャーへの参照を再取得している可能性があります。そのようなシナリオを説明するこの記事を見てください、それは命の恩人でした。

また、テストのためにイベントハンドラーを削除して、イベントハンドラー内の何かがモダリティを変更したり、IEでJSエラーをスローしたりするかどうかを確認することもできます。

于 2011-12-20T15:39:32.900 に答える
1

はい、分かりました!

htmlページに自己終了divタグがある場合、Telerikはそれを好みません。(つまりとにかく)

悪い

<div />

良い

<div></div>
于 2012-01-17T16:04:07.257 に答える