0

次の目標があります。

私は自分のウェブサイトのトップメニューリンクのリストを持っています

ホーム * リンク * 引用 * 写真

唯一の違いは、特定のページにいるときはいつでも、そのページを単なるテキスト (href リンクではなく) にし、他のページをリンクにすることです (これがあなたがいるページであることを示すため):

私はこれを機能させましたが、それは非常に悪い方法のようで、これを行うためのより良い方法を探しています:

私のマスターページには、次のものがあります。

 <asp:ContentPlaceHolder runat="server" ID="TopMenuLinks">
 </asp:ContentPlaceHolder>

個々の個別のページには、次のものがあります(これはファミリーツリーの例です):

ファミリーツリーは次のようになります。

<asp:Content ID="Content3" ContentPlaceHolderID="TopMenuLinks" runat="server">
 <a href="http://xxx/albums.aspx">Photos</a> &nbsp;&nbsp;-&nbsp;
 <a href="http://xxx/globe.aspx">Travel</a> &nbsp;&nbsp;-                
 Family Tree
 <a href="http://xxx/wiki.aspx"><spanstyle="color:"#000088">Wiki</span></a>&nbsp;&nbsp;-
 <a href="http://xxx/blog.aspx"><span style="color:"#000088">Baby Blog</span></a>
</asp:Content>

写真は次のようになります。

<asp:Content ID="Content3" ContentPlaceHolderID="TopMenuLinks" runat="server">
 Photos &nbsp;&nbsp;-&nbsp;
 <a href="http://xxx/globe.aspx">Travel</a> &nbsp;&nbsp;-                
 <a href="http://xxx/globe.aspx">Family Tree</a> &nbsp;&nbsp;-                
 <a href="http://xxx/wiki.aspx"><spanstyle="color:"#000088">Wiki</span></a>&nbsp;&nbsp;-
 <a href="http://xxx/blog.aspx"><span style="color:"#000088">Baby Blog</span></a>
</asp:Content>

ご覧のとおり、各ページには、リンクとしてではなく、その特定のページとの重複したコードがあります。

すべてのページでこのコードを大量に複製することなく、これを行うためのよりクリーンな方法はありますか?

ザ・ウェイ・アイ・アム

4

2 に答える 2

2

ASP:Hyperlink コントロールを使用して、マスター ページを使用して同じことを行いました。マスター ページのコード ビハインドには、NavigateUrl が子ページの場所と一致する場合、NavigateUrl を空の文字列に設定するコードがありました。

求めている効果が得られます。

于 2009-08-08T12:58:26.427 に答える