2012-08-10 2 views
0

나는 두 개의 웹 사이트가 .. (MVC 응용 프로그램)제어 디스플레이 - MVC/HTML/ASP/JS

www.WebsiteA.com는에 .. 이런 (거기에 두 개의 탭이) 그것의 ".master"페이지. 어떤 사람이 직접 www.websiteA.com의 웹 사이트로 이동하는 경우

<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.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> 

내 질문은 : 나는 어떤 사람이 직접 이동하면 두 개의 탭이 표시 웹 사이트를 만들 수있는 방법 URL (www.websiteA.com) 및 웹 사이트의 Iframe을 통해 웹 사이트에 액세스 할 때 "하나의 탭"(홈 탭)을 어떻게 표시 할 수 있습니까? Iframe의 웹 사이트 A에는 홈 탭 만 표시됩니다. 아이디어/도움에 감사드립니다.

답변

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> 
+0

감사합니다. 훌륭하게 작동합니다. – ZVenue