0

モーダル ボックスをカスタム サーバー コントロールとして作成しています。モーダル ボックスの TargetControlID に、クリックしたときにモーダルを表示する要素を指定するプロパティが必要です。モーダル ボックスでプロパティを設定し、コード ビハインドで次のコード ブロックを使用します (いくつかの異なる場所で試しました)。

    If (_targetControlId <> "") Then
        Dim targetControl As WebControl = Me.Page.FindControl(_targetControlId)
        targetControl.Attributes.Add("onclick", "test1();")
        targetControl.Attributes.Add("onclick", "test2();")
    End If

何が起こるかというと、targetControl は常に NULL になり、属性を追加しようとするとページがクラッシュします。targetControlId のスペルを再確認し、runat="server" であるコントロールを指定しています。サーバー コントロールが、それを含むページ上の他のコントロールにアクセスするための適切な方法は何ですか?

ありがとう、

マイク

4

1 に答える 1

0

まず、探している動作が、無料のオープン ソースAjaxControlToolkitに付属するModalPopupExtenderに既に存在することを指摘しておく必要があります。それだけを使用することをお勧めします。それでも自分で書きたいと確信している場合は、少なくとも彼らのコードを見て、彼らがどのようにそれを行っているかを確認することをお勧めします. 始めるには良い場所です。ExtenderControlBase.FindControlHelper

于 2009-10-16T18:43:50.270 に答える