如何使用模态弹出窗口填写表单?

时间:2012-12-11 01:43:04

标签: asp.net asp.net-ajax ajaxcontroltoolkit

我有一个带有一堆文本框(街道,数字,城市,邮政编码等)和一个AJAX模态弹出扩展器的asp.net地址表。

按下按钮时,会显示地址簿(在模态弹出窗口中),用户可以搜索并选择其中一个注册地址。此列表使用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

问题是,虽然此代码隐藏了模态弹出窗口,但它不会填充地址格式。

如何从模态弹出窗口中填写表单?

1 个答案:

答案 0 :(得分: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时,模态弹出窗口关闭,地址表单被填充