0

我有两个网站..(MVC 应用程序)

www.WebsiteA.com(其中有两个选项卡)就像这样......在其“.master”页面中。

   <ul id="module" class="module">       

        <li id="home"><%=Html.ActionLink("Home", "ActionHome", "Home")%></li>
        <li id="Pay"><%=Html.ActionLink("Payment", "ActionPay", "Payment")%></li>

    </ul>

如果有人直接访问 www.websiteA.com 的网站,他们应该会看到这两个选项卡,主页和付款。

还有另一个网站可以说 www.WebsiteB.com 在它的一个页面中有这个 iframe。iframe 基本上指向第一个网站 A。

这是网站 B www.websiteB.com/linktoWebsiteA

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <iframe src="http://www.websiteA.com"</iframe>

</asp:Content>

我的问题是:当有人直接访问网址(www.websiteA.com)时,如何让网站 A 显示两个选项卡,以及当他们通过网站中的 iframe B. Iframe 内的网站 A 应仅显示主页选项卡。感谢您的想法/帮助。

4

1 回答 1

3

从 iframe 调用时,您可以传递查询字符串参数:

<iframe src="http://www.websiteA.com/?iframe=true"</iframe>

然后使用iframe查询字符串参数显示您想要的选项卡:

<ul id="module" class="module">       
    <li id="home"><%=Html.ActionLink("Home", "ActionHome", "Home")%></li>
    <% if (!string.IsNullOrEmpty(Request["iframe"])) { %>    
        <li id="Pay"><%=Html.ActionLink("Payment", "ActionPay", "Payment")%></li>
    <% } %>
</ul>

另一种可能性是使用 javascript,因为如果您不想传递一些额外的指示(例如查询字符串参数),这是了解网站是否在 iframe 内运行的唯一方法。

<script type="text/javascript">
    if (top !== self) { 
        // running inside an iframe => hide the tabs you don't want
    }
</script>
于 2012-08-10T14:45:05.937 回答