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