2009-04-29 13 views
1

私は小さなノートボードアプリケーションを作成しています。しかし、私はAjaxパネルを通知表示ページに追加しようとしましたが、動作させることはできません。データリストをasnycポストバックトリガーとして正常に登録しました

このサイトでは、3つのコンテンツ領域が定義されたマスターページを使用します。このページの場合は、通知フィルタ、通知タイトル(Page.Loadイベントに配置されたデータリスト)、および現在表示されている通知。タイトルをクリックすると通知が読み込まれます。

問題は、現在表示されている通知をAjaxパネルに表示したいが、トリガーが別のコンテンツ領域にあることです。私は、マスターページ上のコンテンツプレースホルダの外にスクリプトマネージャを入れている、とaspxページに私は次のトリガに通知ビュー領域内のコンテンツを中心に更新パネルを入れている:

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="dlSelector" EventName="ItemCommand" /> 
</Triggers> 

とで私が持っているPage.Loadイベント:

'Get the script manager first, and register the selector as a postback 
Dim sm1 As ScriptManager = ScriptManager.GetCurrent(Page) 
sm1.RegisterAsyncPostBackControl(dlSelector) 

これは、コンパイルしたコード部分はOK実行するようだが、私はエラーdlSelector「IDを持つコントロール 『がUpdatePanel1『』UpdatePanelのトリガが見つかりませんでした』取得します。私は

sm1.RegisterAsyncPostBackControl(Page.FindControl("dlSelector")) 

sm1.RegisterAsyncPostBackControl(dlSelector) 

を交換した場合、私はにFindControlはnullを返したエラーを取得し、再びそれが倒れます。私は間違って何をしていますか?

答えて

1

マスターページは、コントロール名が無効にされたことを意味するため、コントロール名が変更された
(例:ct100_someotherstuff_nameOfControl)であることを意味します。コントロールの適切なIDを使用してポストバックコントロールを登録する必要があります。

Rick Strahlから読みます。これはthis postで参照されています。

希望します。

+0

すぐにお返事ありがとうございます、今はもっと幸せそうです! – Barn

関連する問題