iframe 中是另外一个页面,子页面b,子页面的按钮最后想调用父页面a的方法,如何做

plglenn27 2009-11-22 08:56:53
b页面:
   protected void btnOk_Click(object sender, EventArgs e)
{
string sum = "";
for (int i = 0; i < Repeater1.Items.Count; i++)
{
CheckBox cb = (CheckBox)Repeater1.Items[i].FindControl("CheckBox1");
if (cb.Checked)
{
sum += cb.ToolTip + "_" + cb.Text + "ttttt";
}
}
if (sum.Length > 2)
{
sum = sum.Substring(0, sum.Length - 6);
}
Session["Sight"] = sum;
Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", " <script>ymPrompt.close();top.document.all.btnOk.btnOk_Click (); </script>");


}

b页面最后调用a页面的BindRepeater()方法。


private void BindRepeater()
{
try
{


//if (Session["Sight"]==null )
//{
// return;
//}
string sum = Session["Sight"].ToString();
if (sum.Length < 2)
{
return;
}
DataTable dt = new DataTable();
dt.Columns.Add("SightName", typeof(string));
dt.Columns.Add("SightId", typeof(int));

Regex r = new Regex("ttttt");
foreach (string item in r.Split(sum))
{
DataRow dr = dt.NewRow();
dr["SightId"] =Convert.ToInt32( item.Substring(0, item.IndexOf('_') ));
dr["SightName"] = item.Substring(item.IndexOf('_')+1);
dt.Rows.Add(dr);
}
Repeater2.DataSource = dt;
Repeater2.DataBind();
}
catch (Exception err)
{


}

}

...全文
354 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzsh0622 2009-11-22
  • 打赏
  • 举报
回复
wuyq11 2009-11-22
  • 打赏
  • 举报
回复
document.getElementById("btnOk").click();
_dopostback('btnOk','')
plglenn27 2009-11-22
  • 打赏
  • 举报
回复
document.getElementById("btn1").click();
还有_dopostback('','')


protected void btnOk_Click(object sender, EventArgs e) { BindPage(); }

对于服务器控件具体是?
qqzeng-ip 2009-11-22
  • 打赏
  • 举报
回复
实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法。

比如有A窗口,A内有个IFRAME. B,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数ExpandPage();

那么只要在C页面中写如下JS函数就可以了:

window.parent.ExpandPage();
wuyq11 2009-11-22
  • 打赏
  • 举报
回复
document.getElementById("btn1").click();
还有_dopostback('','')
plglenn27 2009-11-22
  • 打赏
  • 举报
回复
page a
   protected void btnOk_Click(object sender, EventArgs e)
{
BindPage();
}


page b
 
Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", " <script>ymPrompt.close();top.document.all.btnOk.btnOk_Click (); </script>");

Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", "<script> window.parent.Form1.btnOk_Click.click() </script>");
plglenn27 2009-11-22
  • 打赏
  • 举报
回复
btn 服务器控件
protected void btnOk_Click(object sender, EventArgs e)
{
BindPage();
}

Page.ClientScript.RegisterStartupScript(this.GetType(), "Begin", "<script> window.parent.Form1.btnOk_Click.click() </script>");
没有效果
wuyq11 2009-11-22
  • 打赏
  • 举报
回复
//子页面调用父窗体的某个按钮的按钮事件
window.parent.Form1.btn.click()
父页面调用子窗体的某个按钮的按钮事件
window.frames['iframe1'].document.all.item("btn").click();
或使用ajax

62,041

社区成员

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

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

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

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