2009-10-30 2 views
0

사이트가 구동되는 인트라넷 페이지 ASP 전체 사이트를 구동하는 메뉴 컨트롤이 있습니다.ASP 메뉴의 새 창 클릭

대부분의 사용자가 현재 페이지에서 새로운 콘텐츠 페이지로 사용자를 밀고 들어갑니다.

그러나 일부 대형 보고서의 경우 전체 페이지를 편안하게 표시 할 수있는 충분한 부동산이 없습니다.

new 또는 pop up 창이 이상적으로 나타나서 크기 선택 옵션을 제공하는 특정 노드를 클릭 할 수 있습니까? 사이트 맵 파일

<siteMap> 
    <siteMapNode title="Top" > 
    <siteMapNode title="Menu 1" > 
     <siteMapNode title="Report" url="~/Iwantthisurl-to-pop-out.aspx"/> 
    </siteMapNode> 
    </siteMapNode> 
</siteMap> 

편집에 대한

예제 코드,

의견에 URL Here을 따른 후 나는 훨씬 더 가까이입니다. 그러나 나는 오류가 발생합니다. 일부 단지 표준 사이트 맵 attirbuites 결합되는 이유 (제목, URL 등) 및 오류의

Protected Sub Menu1_MenuItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) 


    Dim address As String = String.Empty 
    Dim heigth As String = String.Empty 
    Dim width As String = String.Empty 
    Dim title As String = String.Empty 
    Dim url As String = String.Empty 
    Dim poptest As String = String.Empty 

    poptest = CStr(DataBinder.Eval(e.Item.DataItem, "url")) 


    If String.IsNullOrEmpty(poptest) Then 

     address = CStr(DataBinder.Eval(e.Item.DataItem, "address")) 
     heigth = CStr(DataBinder.Eval(e.Item.DataItem, "heigth")) 
     width = CStr(DataBinder.Eval(e.Item.DataItem, "width")) 
     title = CStr(DataBinder.Eval(e.Item.DataItem, "title")) 
     url = CStr(DataBinder.Eval(e.Item.DataItem, "url")) 
    Else 

    End If 

( 데이터 바인딩 : 'System.Web.SiteMapNode는'을 이름이 '주소'와 속성을 포함하지 않음) 중단 점을 넣을 때 표준 속성을 읽을 수 있습니다. 완료된 사용자 정의 항목이 전달되는 것 같습니다.

너무 가까이서 너무 실망합니다!

편집 2 :

_blank 명령을 사용하여 다른 창을 열 수있는 방법을 찾을 수 있지만, 나에게 누군가가 링크의 예를 얻을 수있는 경우 창 크기를 조정하고 주소 표시 줄 등을 제거 할 수있는 기능을 제공하지 않습니다 작업 할 페이지 예를보고 싶습니다!

편집 3 :

는 비표준 사이트 맵 매개 변수 (주소, 높이 그러나이를 사용하는 경우

title = ((SiteMapNode)(e.Item.DataItem))["title"]; 

그것이

title = ((System.Web.SiteMapNode)(e.Item.DataItem)).Title; 

이어야한다이 라인을 함께 할 수있는 그 무언가를 확신하고 등) 그것은 오류를 throw합니까?

답변

2

당신은 다음 ASP 컨트롤 함수를 호출

function popup() 
{ 
     var url = '/thepagetopopup.aspx'; 
     window.showModalDialog(url, 'Value', 'dialogHeight:600px,dialogWidth:1000px;'); 
     //or 
     window.open(url, 'value', 'dialogHeight:600px,dialogWidth:800px'); 
     return false; 
} 

같은 것을 사용할 수있는 자바 스크립트를 사용하는 경우.

희망이

+0

Java에 익숙하지 않은데, 어디에서 추가할까요? Web.sitemap 파일로? –

+2

몇 가지 코드를 게시 할 수 있습니까? 이것은 자바가 아니다. 그것은 자바 스크립트입니다. 웹 페이지의 클라이언트 측 스크립팅 언어입니다. – Kamal

+0

이것 좀보세요. 그것은 꽤 기본입니다. http://coloboxp.wordpress.com/2007/09/14/adding-javascript-to-aspnet-menu-control-to-open-a-popup-window-centered/ – Kamal

0

난 당신이 (팝업하려면 _blank로 설정) 각 노드에서 목표라는 attibute를 추가, 자바 스크립트없이 그것을 할 사이트 맵 페이지 수 있다고 생각하는 데 도움이, 그리고 마스터 맵 템플릿 단지 다음을 수행하십시오.

<asp:SiteMapPath ID="SiteMapPath1" runat="server"> 
    <RootNodeTemplate> 
<a href='#Eval("url")' target="_blank"><%# Eval("title") %></a> 
    <asp:LinkButton ID="LinkButton1" runat="server" 
        Text='<%# Eval("title") %>' 
        CommandArgument='<%# Eval("url") %>' 
target='<%# Eval("target") %>' 
        OnCommand="LinkButton1_Command"> 
    </asp:LinkButton> 
    </RootNodeTemplate> 
</asp:SiteMapPath>