extaspnet 的panel如何动态改变iframeurl

福龙VQ8
2013-12-08 · 超过65用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:156万
展开全部
有不少人问这个问题,在这里把我自己的理解回答一下 先贴答案 前台: <form id="form1" runat="server"> <ext:PageManager ID="PageManager1" runat="server" /> <ext:Panel ID="Panel1" runat="server" > <Toolbars> <ext:Toolbar runat="server"> <Items> <ext:Button ID="Button1" runat="server" Text="改变iframe" OnClick="Button1_Click"> </ext:Button> </Items> </ext:Toolbar> </Toolbars> </ext:Panel> </form> 后台: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Panel1.IFrameUrl = "test1.aspx"; Panel1.EnableIFrame = true; Panel1.IFrameName = "f1"; } } protected void Button1_Click(object sender, EventArgs e) { Panel1.IFrameUrl = "test2.aspx"; //这句话是不起作用的 ExtAspNet.PageContext.RegisterStartupScript("window.frames[/"f1/"].location.href='test2.aspx';"); } 代码很简单吧好了,按正常思维,设置一个panel的iframeurl,写法就是page_load中写法悲催的是一旦页面初次加载完成,你会发现在后台想再改iframeurl就不行了 为啥? 查看生成的页面源代码对比一下就明白,panel中的iframe加载方式是嵌套在里面的所以你想动态改url直接透过JS改更容易所以解决方案就是执行一句JS ,改变这个f1 iframe 的href,测试一下,搞定 extjs中的iframe一直有某些兼容问题,特别是在IE下很多解决方案(tab)都是嵌套iframe来解决的坑爹的IE。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式