Shared Layout Crush после вызова метода действия? - PullRequest
0 голосов
/ 21 октября 2019

Я создал общий макет для своих представлений, поэтому я поместил его в общую папку. запустив проект индексным методом триггера контроллера и верните мне макет со всеми изображениями, однако когда я нажимаю на элемент в панели навигации, который запускает соответствующий метод действия, изображения из макета исчезают!?

это мои помощники тегов в макете:

<div class="navbar-collapse collapse w-50">
        <ul class="navbar-nav">
            <li class="nav-item navbar1 ">
                <a class="nav-link" asp-controller="Home" asp-action="Index"><span style="text-decoration: underline;"><B>Acceuil</B></span></a>
            </li>
            <li class="nav-item navbar1">
                <a class="nav-link" asp-controller="Home" asp-action="WhoWeAre"><span style="text-decoration: underline;"><B>Qui somme nous</B></span></a>
            </li>
            <li class="nav-item navbar1">
                <a class="nav-link" asp-controller="Home" asp-action="Privacy"><span style="text-decoration: underline;"><B>Specialités</B></span></a>
            </li>
        </ul>
</div>

и вот методы действия:

 public IActionResult Index()
    {
        return View("WhoWeAre");
    }

    public IActionResult WhoWeAre()
    {
        return View();
    }
    public IActionResult ContactUs()
    {
        return View();
    }

    public IActionResult Privacy()
    {
        return View();
    }

Могу ли я что-то сделать не так?

Update1:

для изображения у меня есть логотип в навигационной панели:

<nav class="navbar navbar-expand-md bg-light navbar-light">

        <div class="navbar-collapse collapse w-50">
            <ul class="navbar-nav">
                <li class="nav-item navbar1 ">
                    <a class="nav-link" asp-controller="Home" asp-action="Index"><span style="text-decoration: underline;"><B>Acceuil</B></span></a>
                </li>
                <li class="nav-item navbar1">
                    <a class="nav-link" asp-controller="Home" asp-action="WhoWeAre"><span style="text-decoration: underline;"><B>Qui somme nous</B></span></a>
                </li>
                <li class="nav-item navbar1">
                    <a class="nav-link" asp-controller="Home" asp-action="Specialites"><span style="text-decoration: underline;"><B>Specialités</B></span></a>
                </li>
            </ul>
        </div>
        <div>
       <!-- this is the logo-->
            <img src="images/decoupage/nawrass-logo.png " class="rounded-circle bg-light">....

и в нижнем колонтитуле у меня снова есть логотип и некоторые другие изображения:

<div id="footer">
 <div class="jumbotron " style="margin-top:0 ; background-color:blue">
    <div class="container ">
       <div class="row">
        <div class="col-md-6">
            <div class="card mb-3 " style="background-color: blue">
                <div class="row no-gutters">
                    <div class="col-md-3 ">

                        <img src="images/decoupage/logo-white.png" class="card-img" alt="my card image">
                    </div>......

1 Ответ

1 голос
/ 21 октября 2019

Ваш источник изображения является относительным. MVC использует маршрутизацию, которая делает ваши URL-пути похожими на «папки».

Таким образом, «Домой» является /, который является маршрутом по умолчанию, но «Кто мы» - /Home/WhoWeAre. Это приводит к тому, что изображения ищутся соответственно в /images/decoupage/logo-white.png и /Home/images/decoupage/logo-white.png.

. Поскольку изображения находятся в корневой папке, а не в /Home, необходимо добавить к URL-адресам изображений префикс * 1010. *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...