是否可以在代码后面了解页面是否在 iframe 内被调用

发布于 2024-12-07 07:49:33 字数 97 浏览 1 评论 0原文

我需要了解页面是否在 iframe 内部被调用,或者不在代码后面调用。这可能吗?

我需要在后面的母版页代码中确定它。

ASP.NET 4.0,C#

I need to understand that whether page is being called inside iframe or not at code behind. Is this possible?

I need to determine it in master page code behind.

asp.net 4.0, C#

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甩你一脸翔 2024-12-14 07:49:33

一般来说,没有。

当然,您可以发出客户端脚本来检测 iframe 并使用查询字符串等重新加载页面。

In general, no.

Of course you can emit client script that detects iframe and reloads the page with e.g. a querystring.

诠释孤独 2024-12-14 07:49:33

这是不可能的。不过,有一个解决方法。您可以使用查询字符串并检查页面加载是否该查询字符串包含值,例如:

<iframe src="Default.aspx?iframe=true" />

在您的 Default.aspx.cs 文件中:

protected void Page_Load(object sender, EventArgs e)
{
    if(!string.IsNullOrEmpty(Request.QueryString["iframe"]))
    {
        if(Convert.ToBoolean(Request.QueryString["iframe"])
        {
            // this page is loaded in an iframe
        }
    }
}

It's not possible. However there's a workaround this. You can use querystring and check on page load if that querystring contains value, for example:

<iframe src="Default.aspx?iframe=true" />

In your Default.aspx.cs file:

protected void Page_Load(object sender, EventArgs e)
{
    if(!string.IsNullOrEmpty(Request.QueryString["iframe"]))
    {
        if(Convert.ToBoolean(Request.QueryString["iframe"])
        {
            // this page is loaded in an iframe
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文