将值从模式对话框传递给父级

Passing value to parent from modal dialog

本文关键字:对话框 模式      更新时间:2023-09-26

我想要一个简单的示例/快速修复,使用 JavaScript 将单个值从对话框传递到 asp 父页面 - 如果 java 脚本是最佳选择!

我已经做过无数次尝试,但到目前为止每一次努力都失败了。

lblVarSelectedDate.Text 是我想回发回父页面以显示为 lblVarChildSelectedDate 值的值。

以下是注册.aspx页面(家长)的一部分

    <table>
<tr>
      <td colspan="5" align="center"><asp:Label ID="lblDate" runat="server" Text="Selected Date: "></asp:Label><asp:Label ID="lblVarChildSelectedDate" runat="server" ></asp:Label></td>
      <td colspan="1" align="center"><asp:Button ID="btnSelectDate" runat="server" Text="Date" /> </td>
</tr
<tr>
    <td><asp:Button ID="btOK" runat="server" Text="Ok" /> </td>
</tr>
</table>

这是寄存器背后的VB.aspx...

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub
Sub btnSelectDate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSelectDate.Click
    Dim Window As String
    Window = " window.open('About.aspx', 'MsgWindow', 'width=500, height=500');"
    ClientScript.RegisterClientScriptBlock(Me.GetType, "date", Window, true)

End Sub
Sub btnOk_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btOK.Click
End Sub

现在她是我的子页面选择日期.aspx..

    <table>
<tr>
    <td colspan="6"><asp:Calendar ID="calSelecter" runat="server" OnSelectionChanged="SelectionChange"></asp:Calendar></td>
</tr>
<tr>
      <td colspan="6" align="center"><asp:Label ID="lblConsSelectedDate" runat="server" Text="Selected Date: "></asp:Label><asp:Label ID="lblVarSelectedDate" runat="server" ></asp:Label></td>
</tr
<tr>
    <td><asp:Button ID="btOK" runat="server" Text="Ok" /> </td>
</tr>
</table>

她是子页面背后的 vb。

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    calSelecter.SelectedDate = Date.Today
    lblVarSelectedDate.Text = Date.Today
End Sub
Sub btnOk_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btOK.Click
    ' .... on click post back to parent page lblVarSelectedDate.Text 
End Sub
Sub SelectionChange(ByVal sender As Object, ByVal e As EventArgs)
    lblVarSelectedDate.Text = calSelecter.SelectedDate
End Sub

非常感谢

一种方法如下:

  1. 父级中,在页面中创建一个将包含数据的元素
  2. 打开模态时,传递对父模态的引用
  3. 在模态中使用对父页面的引用来访问步骤 1 中的元素并将数据保存在该元素中