我有一个带有文本框和按钮的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中加载页面,但我无法将textbox的值传递给temp.aspx。请建议解决方案。感谢
答案 0 :(得分:0)
试试这个:
<iframe id="popupframe" runat="server" src="<%= Page.ResolveUrl("~/temp.aspx") %>" width="100%" height="455">
</iframe>
答案 1 :(得分:0)
temp.aspx肯定是您网站的根目录吗? 404错误通常是一个非常清楚的迹象,表明您正在寻找的东西不存在!事实上,你在工作纯HTML版本中有一个相对路径,这让我觉得你的服务器端版本的路径可能存在问题。
作为替代方案,您可以将查询字符串传递给弹出页面,并在该页面上使用一些javascript来操作iframe的src属性。
e.g。 (弹出页面上的脚本)
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还是其他框架(或者没有框架!)所以我不会讨论如何做到这一点(但如果你需要我的话,可以这样做。)
答案 2 :(得分:0)
<% 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>
不需要任何脚本。这也是一种格式。
答案 3 :(得分:0)
我用过这个
按钮上的Codebehid单击事件
this.iframRfer.Attributes [“src”] =“visit_opd_refer.aspx?regnn =”+ opdNo; mpopup.Show();