Я пытаюсь установить атрибуты для элемента управления IFRAME html из файла aspx.cs для кода.
Я столкнулся с сообщением в котором говорится, что вы можете использовать FindControl для поиска элементов управления без aspp, используя:
Файл 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";