2

テキスト ボックス (番地、番号、都市、郵便番号など) と AJAX modal-popup-extender を含む asp.net アドレス フォームがあります。

ボタンを押すと、アドレス帳が (モーダル ポップアップで) 表示され、ユーザーは登録済みアドレスの 1 つを検索して選択できます。このリストは GridView を使用して実装されており、非常にうまく機能します。各行には、次のようなリンク ボタンがあります。

<asp:LinkButton ID="AddressNameLinkButton" runat="server"
                CausesValidation="false"
                CommandArgument='<%# Container.DataItem("ADDRESS_ID") %>'
                CommandName="Select"
                Text='<%# Eval("ADDRESS_NAME")%>' />

ボタンが押されると、このコード ビハインドが実行されます。

Protected Sub AddressGridView_RowCommand(...) Handles AddressGridView.RowCommand
    Dim ADDRESS_ID As Long = e.CommandArgument
    If e.CommandName.CompareTo("Select") = 0 Then
        'Some code that retrieves the information 
        'of the selected address goes here.
        CityTextBox.Text = City
        PostalCodeTextBox.Text = PostalCode
        'Etc. Etc.
        SearchModalPopupExtender.Hide()
    End If
End Sub

問題は、このコードがモーダル ポップアップを非表示にしている間、アドレス フォームに入力しないことです。

モーダルポップアップからフォームに入力するにはどうすればよいですか?

4

1 に答える 1

1

問題は、モデル ポップアップの GridView が UpdatePanel 内にあることでした (これを指摘してくれた nunespascal に感謝します)。

これを解決するために、次のコードを追加しました。

Protected Sub AddressGridView_RowDataBound(...) Handles AddressGridView.RowDataBound
    Dim AddressNameLinkButton As LinkButton = e.Row.FindControl("AddressNameLinkButton")
    ScriptManager.GetCurrent(Page).RegisterPostBackControl(AddressNameLinkButton)
End Sub

GridView で LinkBut​​tons の 1 つを押すと、モーダル ポップアップが閉じ、アドレス フォームが入力されます。

于 2012-12-11T23:53:25.557 に答える