加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何从ASP.NET中的代码隐藏文件访问IFRAME?

发布时间:2020-12-15 18:42:26 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试从代码隐藏的aspx.cs文件中为IFRAME html控件设置属性。 我遇到了一个post,说你可以使用FindControl找到非asp控件使用: aspx文件包含: iframe id="contentPanel1" runat="server" / 然后代码隐藏文件包含: protected void Page_Load(object se
我正在尝试从代码隐藏的aspx.cs文件中为IFRAME html控件设置属性。

我遇到了一个post,说你可以使用FindControl找到非asp控件使用:

aspx文件包含:

<iframe id="contentPanel1" runat="server" />

然后代码隐藏文件包含:

protected void Page_Load(object sender,EventArgs e)
{
    HtmlControl contentPanel1 = (HtmlControl)this.FindControl("contentPanel1");
    if (contentPanel1 != null)
        contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";

}

除了没有找到控件,contentPanel1为null。

更新1

看看渲染的html:

<iframe id="ctl00_ContentPlaceHolder1_contentPanel1"></iframe>

我尝试将代码替换为:

HtmlControl contentPanel1 = (HtmlControl)this.FindControl("ctl00_ContentPlaceHolder1_contentPanel1");

if (contentPanel1 != null)
    contentPanel1.Attributes["src"] = "http://www.clis.com";

但它没有帮助。

我正在使用MasterPage。

更新2

将aspx文件更改为:

<iframe id="contentPanel1" name="contentPanel1" runat="server" />

也没有帮助

回答

答案是显而易见的,不值得甚至提出原来的问题。如果你有aspx代码:

<iframe id="contentPanel1" runat="server" />

并希望从代码隐藏文件访问iframe,您只需访问它:

this.contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";

解决方法

如果iframe直接在代码运行的页面上,那么您应该可以直接引用它:
contentPanel1.Attribute = value;

如果没有(它在一个子控件或MasterPage中),则需要了解页面层次结构的一个好主意。或者使用编写递归版本的FindControl()的强力方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读