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

好,我知道了!

Telerik 不喜欢在 html 页面中有一个自闭合 div 标签。(无论如何,在即)

坏的

<div />

好的

<div></div>
于 2012-01-17T16:04:07.257 回答
1

这是一些奇怪的行为。您是否尝试过检查页面的 CSS 以查看您自己的某些样式表是否与 Telerik 类发生了冲突?尝试禁用所有你自己的 CSS 并查看它是否修复了模式。我也不认为 set_modal(true) 调用是必要的,因为 Modal 属性已经在标记中设置为 true。

此外,我想到了另一个想法 - 如果您有多个经理 GetRadWidnowManager() 可能会重新引用另一个非模态的引用。看看这篇解释这种情况的文章,它是一个救命稻草。

您还可以尝试删除事件处理程序以进行测试,并查看其中的某些内容是否会更改模态和/或在 IE 下引发 JS 错误。

于 2011-12-20T15:39:32.900 回答