iframe可以在服务器端而非客户端加载其内容吗?

问题描述:

我知道设置runat =“server”并为iframe控件指定一个id,可以在服务器端访问,但我需要的是iframe源内容在服务器端而不是客户端加载。iframe可以在服务器端而非客户端加载其内容吗?

可能吗?

为什么我需要这种方式?

目前我的iframe源网站配置为ntlm身份验证和sso,这意味着它会读取我的Windows凭据,而我需要它读取托管该iframe的网站提供的凭据。

谢谢

没有不能做到的。这不是事情的方式。如果您需要在服务器端加载内容,则可以使用WebRequest类。但我怀疑那是你想要的。我认为你需要重新考虑你的应用程序设计。

+0

谢谢。那么是否可以使用webrequest发出请求并将其结果设置为服务器端的iframe? – Dynamic 2010-12-21 11:29:24

+0

@Dynamic。不,iframe不能使用webrequest的结果。但是你可以在页面中的占位符中发出html。但这不是正确的解决方案。正确的解决方案是让您的用户正确地与您在iframe中显示的网站进行身份验证。 – 2010-12-21 11:31:09

+0

谢谢。我使用身份验证的问题是iframe的源网站确实支持ntlm和sso。主机站点(这是sharepoint)不支持sso就支持ntlm。所以我需要将sharepoint的凭证传递给iframe站点,而这些站点不一定是相同的Windows标识。 – Dynamic 2010-12-21 11:48:53

不,设置iframe标签的runat =“server”属性将允许您修改它在服务器端的属性,但iframe的来源仍将从客户端下载。

+0

如何在不使用src的情况下设置iframe的innerHtml?例如

+0

发现:窗口[ 'iframeId']。document.body.innerHTML = '

hello'; – Dynamic 2010-12-21 13:51:04
+0

我已经在手风琴控制中使用了iframe,并且在findcontrol时我怎么能在服务器端获得这个? 它是HtmlGenericControl吗? – 2013-09-24 14:06:35