0

我有一个带有文本框和按钮的 asp.net 页面。单击按钮时,我打开一个弹出窗口并使用 iframe 在其中加载一个页面。我想将文本框的值作为查询字符串传递给 iframe 中的页面。我怎样才能做到这一点?

我尝试像这样使用服务器端 iframe:

<iframe id="popupframe" runat="server" src="~/temp.aspx" width="100%" height="455">
            </iframe>     

但 temp.aspx 不加载并给出 404。如果我在没有服务器端标记的情况下使用它

<iframe id="popupframe"  src="../../../../temp.aspx" width="100%" height="455">
            </iframe>     

页面在 iframe 中加载,但我无法将文本框的值传递给 temp.aspx。请提出解决方案。谢谢

4

4 回答 4

0

temp.aspx 绝对是您网站的根目录吗?404 错误通常非常清楚地表明您正在寻找的东西不存在!而且您在工作的纯 HTML 版本中有相对路径这一事实让我认为您的服务器端版本的路径可能存在问题。

作为替代方案,您可以将查询字符串传递给弹出页面,并在该页面上使用一些 javascript 来操作 iframe 的 src 属性。

例如(弹出页面上的脚本)

var qs = window.location.search; // Gets the entire querystring - not very obvious!
var iframe = document.getElementById("popupframe");
iframe.src += qs; // Adds the querystring on to the end of the iframe's src.

您希望在页面内容加载后运行它。我不知道您使用的是 jQuery 还是其他框架(或没有框架!),所以我不会讨论如何做到这一点(但如果您需要我可以)。

于 2012-08-29T15:01:08.473 回答
0

尝试这个:

<iframe id="popupframe" runat="server" src="<%= Page.ResolveUrl("~/temp.aspx") %>" width="100%" height="455">
            </iframe> 
于 2012-08-29T14:51:29.580 回答
0

我用这个

按钮单击事件上的代码隐藏

this.iframRfer.Attributes["src"] = "visit_opd_refer.aspx?regnn="+opdNo; mpopup.Show();

于 2015-05-23T13:00:40.267 回答
-1
 <% Int64 ss =Convert.ToInt64( Request.QueryString["id"].ToString());%>
 <% string bb = ss.ToString().Insert(0, "testing.aspx?id="); %>
  <iframe    src="<%=bb %>"   style="height: 100%; width: 100%; border: 2px;"> 
 </iframe>

不需要任何脚本。这也是一种格式。

于 2013-01-25T05:54:05.917 回答