朋友我有一个父页面(default.aspx),其中包含一个包含字段中文本框的iframe页面(iframe.aspx)。父页面包含“保存”按钮。现在我想在提交父页面时获取iframe页面的值。如何访问父页面提交中的iframe页面字段?
iframe.aspx page ,,,, 在Iframe页面中,我有两个文本框,
<asp:textbox id="txtfromdate" runat="server"></asp:textbox>
<asp:textbox id="txttodate" runat="server"></asp:textbox>
default.aspx page
<iframe id="iframebody" runat="server" src="iframe.aspx" style="width:900px; height:600px"></iframe>
<asp:button id="submit" text="save" runat="server" />
frdz当我点击按钮时,如何在parrent页面(default.aspx)中访问iframe页面id(txtfromdate,txtTodate)?
答案 0 :(得分:2)
点击按钮试试这个javascript。
<强> HTML 强>
<input type="hidden" id="txtHidData" runat="server" />
<强>的Javascript 强>
var iframe = document.getElementById('iframebody');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var usernameTextBox = innerDoc.getElementById('txtfromdate');
document.getElementById ( "txtHidData" ).value = usernameTextBox.value;
<强> C#强>
string valueInCodeBehind = txtHidData.Value;
答案 1 :(得分:0)
您无法使用服务器端代码访问iframe的内容。
要访问iframe的内容,您应该使用javascript。
在jquery中,您可以访问它:
var iFrameContent = $('#iframebody').content();
var fromDate = iFrameContent.find('#txtfromdate').val();
var toDate= iFrameContent.find('#txttodate').val();
将其存储在页面上的隐藏字段中,然后在服务器端代码中访问
在aspx页面上放置两个隐藏字段。像
<asp:HiddenField id="hdffromdate" runat="server"></asp:textbox>
<asp:HiddenField id="hdftodate" runat="server"></asp:textbox>
在
这些隐藏字段中设置值$('[id$=hdffromdate]').val(fromDate );
$('[id$=hdftodate]').val(toDate);
在提交按钮中单击事件处理程序
protected void submit_Click(object sender, EventArgs e)
{
var fromDate = Convert.ToDateTime(hdffromdate.Value);
var toDate = Convert.ToDateTime(hdftodate.Value);
//...
}