gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 10:28:25 25 4
gpt4 key购买 nike

我正在尝试从代码隐藏 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 为空。

更新 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() 递归版本的蛮力方法。

关于asp.net - 如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com