0

次のような更新パネルでRadWindowを使用しています。

<asp:UpdatePanel ID="mainUpdatePanel" runat="server">
    <ContentTemplate>
        <telerik:RadWindow ID="wndInformation" runat="server" Skin="Default"
                NavigateUrl="../MaterialInformation.aspx"
                Behaviors="Close, Move, Resize, Maximize" Height="500" Width="600">
        </telerik:RadWindow>

そしてjavasciptを使用してそれを呼び出します:

function OpenSuperSeeding() {
            var wnd = $find("<%= wndInformation.ClientID%>");
            wnd.show();
        }

タグのように割り当てられます:

<asp:LinkButton runat="server" ID="LnkbtnStatistics"
     OnClientClick="OpenSuperSeeding()">

問題は、ポップアップしてすぐに閉じることですか?なんで?

4

2 に答える 2

3

asp:linkbutton はポストバック要素です。これが、RadWindow がすぐに閉じる理由です。基本的に、何が起こるか:

  1. リンクボタンをクリックすると

  2. OnClientClick イベント ハンドラーの関数が起動され、ウィンドウが表示されます。

  3. ポストバックが発生し、ページがリロードされます。この時点で、RadWindow オブジェクトは破棄されます (ポストバックで動的に作成された他のオブジェクトと同様)。

これを回避するには、ポストバックをキャンセルする必要があります。

<asp:LinkButton runat="server" ID="LnkbtnStatistics" Text="Link Button" OnClientClick="OpenSuperSeeding(); return false;"></asp:LinkButton>

于 2011-05-31T06:38:46.590 に答える
1

UpdatePanel が原因である可能性があります。RadWindow のコードを UpdatePanel のコードから移動してみて、まだすぐに閉じられるかどうかを確認しましたか? Telerik スイートをお持ちの場合は、代わりにその Ajax コントロールを使用することを検討してください。それらは非常に強力であり、Telerik は通常、それらを組み合わせて使用​​する場合のコントロールの互換性をテストします。RadAjaxManager は非常に優れたコントロールであり、Ajax の更新をきめ細かく制御できます。UpdatePanel よりもはるかに優れています。

于 2011-05-22T12:49:14.407 に答える