在C#中获取iframe元素

时间:2017-03-13 19:56:04

标签: c# html css

我试图获取代码隐藏中iframe2的第二个iframe的id来添加一些css样式。这是我的HTML:

if(getActivity() instanceof YourActivityWhichPassesData){
   yourValue = getArguments().getString(BUNDLE_VALUE_KEY,null);
}

由于某些原因,我无法在C#中获取iframe ID。我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

访问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>只会对元素本身进行样式化,因为在其中呈现的内容在元素中基本上是“沙盒化”的,并且不受某些元素的影响。指定的样式。

答案 1 :(得分:0)

将IFrame更改为runat =&#34; server&#34;然后你可以在服务器端找到它。

<iframe ID="MyIframe" src="" runat="server"></iframe>

您可以在C#中设置设置项目。

MyIframe.Attributes["src"] = Page.ResolveClientUrl("~/ThisOtherPage.aspx");
MyIframe.Attributes.Add("style", "cursor:pointer;");