我试图在代码隐藏中获取第二个 iframe 的 id,即 iframe2,以添加一些 css 样式。这是我的 html:
<body>
<form id="Form1" method="post" runat="server">
<table id="Table1">
<tr>
<td>
<iframe id="iframe1">
</iframe>
<uc1 id="uc1"></uc1>
</td>
</tr>
<tr>
<td>
<asp:Panel id="Panel">
</asp:Panel>
<uc1 id="uc2">
</uc1>
</td>
<td>
<iframe id="iframe2">
</iframe>
</td>
</tr>
</table>
</form>
</body>
出于某种原因,我无法在 C# 中获取 iframe id。请问我该怎么做?
最佳答案
访问 iframe
确保添加 runat="server"
属性为 <iframe>
:
<iframe id="iframe2" runat="server"></iframe>
这将使您能够通过 FindControl()
在您的代码隐藏中访问它方法:
// Access your iframe
var iframe = FindControl("iframe2");
iframe.Style.Add("border", "2px solid red");
或直接使用其分配的 id
:
iframe2.Style.Add("border", "2px solid red");
关于样式
您提到您正在明确尝试设置此元素的样式。如果是这种情况,您应该使用 CSS 而不是在 <iframe>
上设置内联样式元素本身。
例如,您可以应用样式来定位该元素:
<style type='text/css'>
#iframe {
/* Place your styles here (i.e. border: 4px solid red, etc.) */
}
</style>
值得注意的是,实际为 <iframe>
设置样式将只设置元素本身的样式,因为在其中呈现的内容本质上是元素中的“沙盒”,不会受到某些指定样式的影响。
关于c# - 在 C# 中获取 iframe 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42772328/