0

まず、質問をしてしまったことをお詫びしたいと思います。

vbを使用してasp.netでWebサイトを作成していますが、問題があります。

メニュー名とページの場所を表示するデータベースを作成しました。

ルート フォルダー /Pages にフォルダー コール /Pages/MasterPages を作成しました。マスターページのデザインはその中にあり、通常のサーフィン ページはルート フォルダーにあります。

また、サイトの CMS が入る /Pages/Admin というフォルダーもあります。

今、データベースからメニュー項目を呼び出す次のコードがあります

<asp:Repeater ID="_menuDisplay" runat="server">
                                        <HeaderTemplate>
                                            <table id="navigation" border="0">
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <tr>
                                                <td><asp:HyperLink ID="Hyperlink" runat="server" NavigateUrl=<%# Container.DataItem("pageName") %>><%# Container.DataItem("menuName")%></asp:HyperLink> </td>
                                            </tr>
                                        </ItemTemplate>
                                        <FooterTemplate>
                                            </table>
                                        </FooterTemplate>
                                    </asp:Repeater>

Container.DataItem("pageName") は pages/home.aspx を表示します。 Container.DataItem("menuName") はホーム (home.aspx ページの名前) を表示します。

上記のコードはマスターページにあります

Internet Explorer のページ名を実行すると、pages/masterpage/pages/home.aspx が表示されます。これは、pages/home.aspx のみを表示する必要があります。

助けてください

よろしく

リロイ M

4

1 に答える 1

0

このようなものを試してください

1:コードビハインドページにパブリック関数を作成します。すなわち

Public Function ResolveUrl(objValue as object) as String
     Dim sPath as String = Page.ResolveUrl(cstr(objValue))
     Return sPath  
End Function  

2:Webページのコードを変更します。

NavigateUrl=<%# ResolveUrl(Container.DataItem("pageName")) %>

3:ページ名が「〜/ FolderPath / File.aspx」の形式であることを確認します。〜は、ソリューションのルートディレクトリからページをマップするようにasp.netエンジンに指示します。

お役に立てれば。

于 2011-06-15T07:22:07.990 に答える