iframe传值问题,求助求助

小Fan 2011-08-18 10:18:10
一个main.aspx里面放2个iframe,id分别是manage和list,src分别是A.aspx,B.aspx,
我想在A中点击a标签之后,传递数据给B页面,然后B页面根据这些数据来查询数据库,将返回的数据集与B上面的repeater绑定
现在问题是,
怎样传值呢?
传值之后,B页面怎么知道已经传值过来了,怎么接受值呢?
接受之后怎么刷新main.apsx里面的B页面呢?
刚刚学这个家伙,摸不到头脑,请大家帮帮忙
...全文
213 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
小Fan 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zlblog 的回复:]
引用 2 楼 net_lover 的回复:
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Req……
[/Quote]
谢谢,已经解决了
zlblog 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Request.Params.Get("key")
[/Quote]

孟子说的非常对,如果需要的话,我可以给你发一份代码你看看。

有问题请到我的博客留言,我会及时回复的。
永动bug制造机 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Request.Params.Get("key")
[/Quote]
mark
lvyichang 2011-08-18
  • 打赏
  • 举报
回复
以下是a页面中的超链接,传递id为1:
<a href="#" onclick="window.parent.document.getElementById('list').src = 'b.aspx?id=1'">点击</a>

b页面接受:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["id"] != null)
Response.Write(Request.QueryString["id"].ToString());
}
lvyichang 2011-08-18
  • 打赏
  • 举报
回复
一下是a页面中的超链接,传递id为1:
<a href="#" onclick="window.parent.document.getElementById('list').src = 'b.aspx?id=1'">点击</a>
小Fan 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Request.Params.Get("key")
[/Quote]
是滴,刚才写的是id,所以一直没跳过去
小Fan 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huangwenquan123 的回复:]
设置你两个iframe的name
点击a target到你B的name
[/Quote]
嗯是滴
子夜__ 2011-08-18
  • 打赏
  • 举报
回复
B页面放一个button 通过传递的值查询就行了

<a href="B.aspx?para="传的" target="list">连接B</a>

B.aspx

 protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["para"] != null)
{
Session["para"] = Request.QueryString["para"].ToString();
}

}
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["para"] != null)
{
//查询绑定
}
}



小Fan 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Request.Params.Get("key")
[/Quote]
我要的效果是,刷新后的B仍然在main.aspx里面显示出现
暖枫无敌 2011-08-18
  • 打赏
  • 举报
回复
1.在CS文件中调用JS:

this.RegisterStartupScript("count","<script language=JavaScript> contrliframe();</script>");
当执行完了某些处理语句时要调用到前台代码获取页面中的按钮属性,特别的Iframe中的属性!!用这个方法比较好用!

2.在页面中获取iframe页中的某个控件的属性:

     function contrliframe()
{

var frm=window.frames[0];
var btn=frm.document.getElementByIdx("BtnSave");
btn.disabled=false;
}



有时候调用该方法会出现对象为空或对象不存在解决方法:
将上面方法改为:

function contrliframe()
{
try{
var frm=window.frames[0];
var btn=frm.document.getElementByIdx("BtnSave");
btn.disabled=false;
}
catch(e)
{
waitamoment();
}
}

fucation waitamoment()()
{
windwo.setTiimeOut(waitamoment,100);
}
CS文件中调用 waitamoment()() 方法:




         

3.可以在cs文件中为iframe页面加入一个参数代码如下:
       
   前台代码: <iframe src="iframebaobiao.aspx" width="97%" height="280" align="absMiddle" id="ifraContent" name="ifraContent" runat=server ></iframe>

   后台代码:   ifraContent.Attributes["src"]= "iframebaobiao.aspx?DetailID=" + Detail ;                 /***************************/
                在此以上部分是写到父窗体中

在iframe页面中获取该参数:

           string Detail=Request["DetailID"].ToString();

4.提示框的公共函数:

           /****************************/
               程序中可以用下列函数把所有的提示框统一起来!

public static void ResponseMessage(string msg,System.Web.UI.Page page)
{
string script="<script>alert('" + msg + "');</script>";
page.RegisterStartupScript("cancel",script);
}

此函数写到公共类Public中!


          /****************************/
                   以下为调用该函数的方法:

             Public.ResponseMessage("保存信息成功!",this);

5.有一个页面a.aspx,在a页面中有个iframe。iframe连接页面b.aspx。

请问如何在b页面的后台获取a页面控件的值?

在a.aspx页面中的iframe:
<iframe name="ad" frameborder=1 leftmargin=0 topmargin=0 rightmargin=0 width=100% src="b.aspx"></iframe>
在b.aspx页面中放以下代码:
<script language="javascript" type="text/javascript">
function orderid_f()
{
document.all("orderidTextBox").value=parent.document.all("ctl00_ContentPlaceHolder1_orderid_TextBox").value;
}
</script>
其中,orderidTextBox是b.aspx页面中的控件ID,
ctl00_ContentPlaceHolder1_orderid_TextBox是a.aspx页面中的控件orderid_TextBox在母版中的控件ID,该ID是自动生成的,由客户端源代码中找到.


6,
a.asp里面调用了一个iframe指向b.asp
a.asp
<IFRAME src="b.asp"></IFRAME>

b.asp里有一个文本框
<input name="abc" type="text" >

如何在a.asp里取得b.asp中文本框abc的值?
a.asp
<IFRAME src="b.asp" name="b"></IFRAME>

b.abc.value
huangwenquan123 2011-08-18
  • 打赏
  • 举报
回复
设置你两个iframe的name
点击a target到你B的name
赢在执行 2011-08-18
  • 打赏
  • 举报
回复
不知道你是不是想要这种:
A页面前台:

<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" PostBackUrl="~/B.aspx" Text="跳转" />

B页面在后台获取A页面的值:

protected void Page_Load(object sender, EventArgs e)
{
if(PreviousPage != null)
{
TextBox name = PreviousPage.FindControl("txtName") as TextBox;
string txtName = name.Text;
Response.Write("内容:"+txtName);
}
}

其实还有好几种方法,看看别人是怎么写的把http://blog.csdn.net/song116148565/article/details/2362068
孟子E章 2011-08-18
  • 打赏
  • 举报
回复
main.aspx的写法
<iframe name="A" src="a.aspx"></iframe>
<iframe name="B" src="b.aspx"></iframe>

a.aspx里面

<a href="search.aspx?key=xxx" target="B">查询</a>
search.aspx接收
Request.Params.Get("key")
小Fan 2011-08-18
  • 打赏
  • 举报
回复
帮帮忙撒

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧