如何将行值从 iframe 弹出窗口传递到父页面文本框

Posted

技术标签:

【中文标题】如何将行值从 iframe 弹出窗口传递到父页面文本框【英文标题】:How to pass row values from iframe popup to parent page textbox 【发布时间】:2018-06-27 17:12:37 【问题描述】:

我正在使用 asp.net 创建一个网站。我想从 iframe 弹出窗口获取行值到父页面文本框。我该怎么做?任何帮助将不胜感激。

我的父页面是这样的:

<asp:Content ID="Content" runat="server">
<asp:FormView ID="DataInsert" runat="server">
<div class="row-fluid">
 <div class="span6">
  <div class="control-group">
    <label class="control-label">SerialNumber:</label>
       <div class="controls">
          <asp:TextBox ID="txtSerialNum" runat="server" Enabled="false" Text="<%#BindItem.SERIAL_NUM">"</asp:TextBox>
      </div>
       </div>
      <div class="control-group">
    <label class="control-label">StockNumber:</label>
       <div class="controls">
          <asp:TextBox ID="txtStockNum" runat="server" Enabled="false" Text="<%#BindItem.STOCK_NUM">"</asp:TextBox>
      </div>
       </div>
      </div>
       </div>
      </asp:Formview>
       <div id="responsive" class="modal hide fade">
        <div class="modal-body">
          <div class="row-fluid">
            <div class="span12">
               <iframe id="PhoneFrame" src="<%= ResolveClientUrl(~pages/Phone.aspx)" %>" </iframe>
          </div>
       </div>
      </div>
       </div>
        </asp:Content>

而phone.aspx是这样的:

<asp:Gridview ID="phoneGrid" runat="server"
 SelectMethod= .....
  OnPreRender=......
   OnRowDataBound=..... etc.
   <Columns>
   <asp:BoundField HeaderText="Phone Serial Number:" DataField="P_SERIAL_NUM" />
     <asp:BoundField HeaderText="Phone Stock Number:" DataField="P_STOCK_NUM" />
      <ItemTemplateField>
       <ItemTemplate>
         <asp:Button ID="btnChoose" Text="Choose" OnClientClick="btnChooseClick()" />
           </ItemTemplateField>
       </ItemTemplate>
      </Columns>
      </asp:GridView>

转账方式应该用什么?

【问题讨论】:

【参考方案1】:

Window.postMessage() 是实现这一目标的潜在好方法。

看看这个example。

【讨论】:

以上是关于如何将行值从 iframe 弹出窗口传递到父页面文本框的主要内容,如果未能解决你的问题,请参考以下文章