调用控制器和方法时,导航栏图像未显示在 MVC 视图上

Posted

技术标签:

【中文标题】调用控制器和方法时,导航栏图像未显示在 MVC 视图上【英文标题】:Navbar image not displaying on MVC view when calling controller and method 【发布时间】:2014-10-18 18:27:59 【问题描述】:

问题背景:

我正在一个 MVC 项目中使用 book strap 完成网站的开发。

问题:

如图所示,当运行网站并且明确键入 home[controller]\Index[method] 时,导航栏中的徽标会正确显示:

当输入返回其关联视图的控制器和方法名称时,它在导航栏中显示徽标。

代码:

标题 - 包含导航栏 - 和页脚位于它们自己的 cshtml 文件名 _Layout.cshtml 中,可以由使用@RenderBody 方法创建的任何其他视图继承,如下所示:

  <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>
<body>
    <div class="navbar navbar-fixed-top">
        <nav class="navbar navbar-default" role="navigation" id="nav">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand"><img src="images/logo.png" ></a>
                </div>
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu<span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li><a href="#myCarousel">Projects</a></li>
                                <li><a href="#Welcome">Welcome</a></li>
                                <li><a href="#features">Workplace, Education, Development</a></li>
                                <li><a href="#About">About Me</a></li>
                                <li><a href="#Location">Location</a></li>
                                <li><a href="#Contact">Contact Me</a></li>
                            </ul>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </div>
    <div class="container body-content">
        @RenderBody()
    </div>
    <footer>
        <div class="container">
            <div class="row">
                <div class="col-sm-12 textAlignCenter">
                    <h5>Copyright &copy; 2014</h5>
                </div>
            </div>
        </div>
    </footer>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</body>
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</html>

任何帮助确定徽标不会显示的原因将不胜感激。

【问题讨论】:

【参考方案1】:

将您的图像路径更改为相对,

<a class="navbar-brand"><img src="@Url.Content("~/images/logo.png")" ></a>

【讨论】:

@Venkat 谢谢!不敢相信我错过了。

以上是关于调用控制器和方法时,导航栏图像未显示在 MVC 视图上的主要内容,如果未能解决你的问题,请参考以下文章

在.net core 6的导航栏中显示用户个人资料图片[关闭]

模态视图导航栏未正确显示

导航和标签栏控制器未显示

在 UINavigationController 中设置时图像不显示

Xcode 导航栏、标签栏、表格视图标题未显示

导航控制器未显示在 TableView 中