2011-06-27 8 views
0

Telerik RadDockコントロールをasp.net ajaxに使用しているときに問題が発生しました。私はドックレイアウトを動的に生成しており、データベースから複数のページ構成を取得しています。問題は、LoadDockLayoutイベントを処理する前にpostデータを使用する必要があることです。これは、avialable構成の1つを選択するdropDownListがあるためです。Telerik RadDock for ASP.NET AJAX初期化問題

私は何か不足している可能性がありますが、LoadLockoutイベントがPreLoadイベント(ProcessPostDataメソッド呼び出しの前にLoadDockLayoutが起動されたように見える)の前とdropDownList selectedIndexChangedイベントの前に発生するので、ドックのレイアウトを適切に初期化する必要があります。

私はdropDownListをクライアント側のコントロールに変換し、選択した値をクエリ文字列に渡すことを考えていましたが、私にとっては醜い解決策に見えます。すべてのアドバイスをいただければ幸いです。

ありがとうございます。

答えて

1

RadDockLayout.LoadDockLayoutイベントは、ポストデータを処理する前にPage.InitCompleteで発生します。 DropDownListで選択した項目に基づいて異なるコントロールをロードする場合は、クライアントから送信されたパラメータをチェックしてコントロールできます。ここではあなたがそれらを取得する方法の例です:

ASPX

<asp:Label ID="Label1" EnableViewState="false" runat="server" /> 
<asp:DropDownList ID="Dropdownlist1" runat="server" AutoPostBack="true"> 
    <asp:ListItem Text="text1" Value="val1" /> 
    <asp:ListItem Text="text2" Value="val2" /> 
    <asp:ListItem Text="text3" Value="val3" /> 
    <asp:ListItem Text="text4" Value="val4" /> 
</asp:DropDownList> 

C#

protected void Page_Init(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 
     var selValue = this.Request.Params.Get("Dropdownlist1"); 
     Label1.Text = "EVENTTARGET: " + this.Request.Params.Get("__EVENTTARGET") + "<br/>Value sent: " + selValue; 
    } 
} 
+0

感謝。私は実際にこのようなことを探していました。 – danyloid