我正在try 从代码隐藏的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.
Update 1个
查看呈现的html:
<iframe id="ctl00_ContentPlaceHolder1_contentPanel1"></iframe>
我try 将代码更改为:
HtmlControl contentPanel1 = (HtmlControl)this.FindControl("ctl00_ContentPlaceHolder1_contentPanel1");
if (contentPanel1 != null)
contentPanel1.Attributes["src"] = "http://www.clis.com";
但这没用.
我正在使用母版页.
Update 2个
将aspx文件更改为:
<iframe id="contentPanel1" name="contentPanel1" runat="server" />
也帮不上忙
Answer
答案是显而易见的,甚至不值得提出最初的问题.如果您有aspx代码:
<iframe id="contentPanel1" runat="server" />
要从代码隐藏文件访问iframe,只需访问它:
this.contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";