我有两个网站..(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,这是他们应该看到的,两个标签,Home和Payment。
还有另一个网站可以说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显示两个标签?如何在访问网站时显示“只有一个标签”(主页标签)网站通过网站B中的iframe。 iframe内的网站A应仅显示“主页”选项卡。感谢您的想法/帮助。
答案 0 :(得分: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>