我正在尝试从代码隐藏的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" />
this.contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";