0

我让它工作,但我想知道它为什么会发生)

所以我有我的 rad 窗口:

<telerik:RadWindowManager ID="wndManager" runat="server">
        <Windows>
            <telerik:RadWindow ID="rwShippingAddressEdit" runat="server" Modal="True" VisibleStatusbar="False"  VisibleOnPageLoad="false" ShowContentDuringLoad="false">
                <ContentTemplate>
                    //content
                </ContentTemplate>
            </telerik:RadWindow>
        </Windows>
    </telerik:RadWindowManager>

我有我的按钮来打开它:

   <telerik:RadButton ID="" Width="90" CssClass="button-next" runat="server" 
     ID="btnOpen" OnClientClicking="windowOpen" Text="Open" />


        function windowOpen(sender, args) {
            var oManager = GetRadWindowManager();
            oManager.open(null, "rwShippingAddressEdit");
            args.set_cancel(true);
        }

此代码显示常规的默认空白窗口,但在另一个页面上,相同的代码可以正常工作并打开包含我的内容的窗口。

为了使它工作,我将此代码添加到 page_load 事件

rwShippingAddressEdit.OpenerElementID = btnOpen.ClientID;

现在,当我按下btnOpen它时,它会打开两个窗口(一个空白窗口和包含内容的窗口)。两个页面都继承了相同的母版页,我不在后面的代码中使用 rad 窗口。但不知何故,相同的代码在页面页面上的工作方式不同。问题可能是什么?

这与验证器无关。我试过CausesValidation="False"btnOpen。因此,如果您有任何想法,我将很高兴听到)

4

2 回答 2

3

试试这个替代方案,看看你是否有更好的结果:

var oWnd = $find("<%=rwShippingAddressEdit.ClientID%>");
oWnd.show();

不要使用这种方法设置 OpenerElementID 来验证它是否有效。

于 2013-03-27T13:57:09.293 回答
0

我猜你的页面上有几个经理,而 radopen() 没有使用你期望的那个,在这里阅读更多:http ://www.telerik.com/help/aspnet-ajax/window-troubleshooting-wrong-window-打开.html

于 2013-04-02T14:48:50.000 回答