从模态弹出扩展器返回父页面的值

时间:2013-07-06 05:56:18

标签: c# asp.net ajaxcontroltoolkit modalpopupextender

<asp:Button ID="btnCheckPatientID" CssClass="cssbutton" runat="server" Text="Check"
                    OnClick="btnCheckPatientID_Click" />
                <asp:ModalPopupExtender ID="btnCheckPatientID_ModalPopupExtender" runat="server"
                    PopupControlID="panelCheckPatient" TargetControlID="hiddenTargetControlForModalPopup"
                    BackgroundCssClass="modalbackground" CancelControlID="btnClose">
                </asp:ModalPopupExtender>

<asp:Button runat="server" ID="hiddenTargetControlForModalPopup" Style="display: none" />

<div id="panelCheckPatient" class="modalpopup" style="display: none">
        <iframe id="iframeCheckPatient" class="csstable" runat="server" width="550px" height="485px" scrolling="auto">
        </iframe>
        <table>
            <tr>
                <td align="right">
                    <asp:Button ID="btnClose" runat="server" CssClass="cssbutton" Text="Close" />
                </td>
            </tr>
        </table>
    </div>

提供服务代码

protected void btnCheckPatientID_Click(object sender, EventArgs e)
    {
        iframeCheckPatient.Attributes["src"] = "Check_Patient.aspx?patientID=" + txtPatientID.Text.Trim();
        btnCheckPatientID_ModalPopupExtender.Show();
    }

点击btnCheckPatientID后,我打开了一个Ajax Modal弹出窗口。 在Modal Popup中加载一个包含Check_Patient.aspx页面的iframe。所有工作正常。

在Check_Patient.aspx中有Pass按钮。 点击按钮,我必须将一些值返回到父页面。

我该怎么办? 在谷歌上搜索但无法找到任何帮助

1 个答案:

答案 0 :(得分:0)

您可以使用按钮postbackurl属性,您需要在其中指定父页面地址,并在父页面上使用以下代码:

假设您的弹出窗口中有一个文本框,您可以使用与folows相同的文本框

TextBox txtnew=(TextBox)PreviousPage.FindControl("id or name of control");

然后使用其值或在弹出页面上创建一个属性,如

public string popupdata
{
   get; set;
}
popupdata=your poppage value;

现在使用

在父页面上访问相同内容
string str=PreviousPage.popupData.Tostring();

或者您可以使用Cookie或会话作为其他选项。