2011-03-17 4 views
1

일부 페이지에는 메뉴를 표시하고 싶습니다.바운드 데이터의 URL을 확인하십시오.

메뉴는 내가 "(HTTP"폴더/Page1.aspx라는 "모든 링크에서 오전 확인 때 리피터

<asp:Repeater ID="mainMenu" runat="server"> 
        <HeaderTemplate> 
         <ul> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <li><a href="<%# Page.ResolveClientUrl((string)Eval("TD_PageName"))%>"><%# Eval("TD_Name")%></a></li> 
        </ItemTemplate> 
        <FooterTemplate> 
         </ul> 
        </FooterTemplate> 
       </asp:Repeater> 

와 DB에서 만들 수 있습니다 : //localhost/folder/folder2/page1.aspx "). "//localhost/folder/folder2/folder2/page1.aspx HTTP"업데이트]

: 내가 폴더 "폴더/Folder2 폴더/Page1.aspx라는"에있을 때의 링크는 내가

로 변경
<a href="<%# VirtualPathUtility.ToAbsolute("~/admin/"+(string)Eval("TD_PageName"))%>"><%# Eval("TD_Name")%></a> 
+0

현재 폴더와 폴더 2의 설명에서 작성한 내용이 현재 일관성이 없어 보이는지 확인할 수 있습니까? –

답변

2

URL의 시작 부분에 "/"가 있어야 절대적으로 만들 수 있습니다.

<a href="/<%# Page.ResolveClientUrl((string)Eval("TD_PageName"))%>"><%# Eval("TD_Name")%></a> 
+0

훌륭한 결과를 얻었으니 "ResolveClientUrl"에 대해 "Page.ResolveClientUrl"을 편집하십시오. –

0

위의 코드가 맞는지는 모르겠지만 "http : // localhost/folder/folder2 /"에있는 모든 페이지가 존재하는 것과 일치하지 않습니다. 발견.

폴더/page.aspx = 폴더/Folder2 폴더/ Page1.aspx라는

폴더/Folder2 폴더/Page1.aspx 라 = 폴더/Folder2 폴더/Folder2 폴더/ Page1.aspx라는 그것은 그것의 모양

당신이 말하는 것이 아니라면 데이터베이스에 올바른 URL이 저장되어 있지 않을 수 있습니다.

편집 : 제공하는 정보는 예상되는 동작 및 오류가 발생한 위치에 대해 아직 명확하지 않습니다.

관련 문제