C#ASP.NET导航栏图像路径在不同页面中更改

时间:2018-03-17 16:11:48

标签: c# asp.net path

我正在进行C#ASP.NET Web应用程序,就在我的学习阶段。

我的 Site.Master 中有一个导航栏,当我在 Default.aspx /~)时,可以看到图像。 但是当我改变页面时,例如。到(~/Account/Register)无法找到图像。

导航栏中图片的代码:

<a href="~/" class="navbar-left"><img style="margin:10px; margin-left:30px;" width="30px" height="30px" src="logo_abstract.png"></a>

要查看我的Site.MasterMainContent的完整代码,这里是相关代码,包含上述代码:

<div class="navbar navbar-inverse navbar-fixed-top">
    <a href="~/" class="navbar-left"><img style="margin:10px; margin-left:30px;" width="30px" height="30px" src="brain_stransparent_abstract.png"></a>
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" runat="server" href="~/">TestApp</a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li><a runat="server" href="~/">Home</a></li>
                <li><a runat="server" href="~/About">About</a></li>
                <li><a runat="server" href="~/Contact">Contat</a></li>
            </ul>
            <asp:LoginView runat="server" ViewStateMode="Disabled">
                <AnonymousTemplate>
                    <ul class="nav navbar-nav navbar-right">
                        <li><a runat="server" href="~/Account/Register"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
                        <li><a runat="server" href="~/Account/Login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
                    </ul>
                </AnonymousTemplate>
                <LoggedInTemplate>
                    <ul class="nav navbar-nav navbar-right">
                        <li>
                            <a runat="server" href="~/Account/Manage" title="Manage your account">
                                <img src="http://placehold.it/18x18" class="profile-image img-circle"> 
                                <%: Context.User.Identity.GetUserName()  %> <b class="caret"></b>

                            </a>
                            </a></li>
                        <li>
                            <asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Log off" LogoutPageUrl="~/" OnLoggingOut="Unnamed_LoggingOut" />
                        </li>
                    </ul>
                </LoggedInTemplate>
            </asp:LoginView>
        </div>
    </div>
</div>
<div class="container body-content">
    <asp:ContentPlaceHolder ID="MainContent" runat="server">
    </asp:ContentPlaceHolder>
    <hr />
    <footer>
        <p>&copy; <%: DateTime.Now.Year %> - Test</p>
    </footer>
</div>

我认为,我需要设置一条通往我的图片的路径,这是从任何地方开始的相同路径,但我不知道任何关于此的信息,谷歌等等。

1 个答案:

答案 0 :(得分:0)

这是因为在运行时,内部页面中的路径无法定位图像,因此对于您应该使用Page.ResolveUrl方法的任何链接或图像路径

<a href="<%= Page.ResolveUrl("~/Account/Manage.aspx"); %>" class="navbar-left"><img style="margin:10px; margin-left:30px;" width="30px" height="30px" src="<%= Page.ResolveUrl("~/Images/logo_abstract.png"); %>"></a>

希望有所帮助