Html.Partial вызывает 404 в MVC Views - PullRequest
0 голосов
/ 28 января 2019

Ранее я задавал вопрос об ошибке 404, но благодаря помощи людей, пытающихся помочь мне в отладке, теперь у меня есть более конкретный вопрос.

Iпри загрузке любого представления, которое вызывает @Html.Partial:

This localhost page can’t be found

, я вижу следующую ошибку: return View() *. 1010 *

Пример метода из HomeController:

    [Route("")]
    public ActionResult Welcome()
    {
        return View();
    }

Я использую Microsoft.AspNet.MVC версию 5.2.7 на тот случай, если это уместно.

Изображение ошибки браузера:

enter image description here

RouteConfig:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapMvcAttributeRoutes();
    }
}

Мой каталог:

enter image description here

Welcome.cshtml:

@using Newtonsoft.Json
@{
Layout = null;
}    
<!doctype html>
<html class="no-js" lang="">
<head>
    <title>Test</title>
    @Html.Partial("_HeadPartial")
</head>
<body>
  <p></p>
</body>
</html>

_HeadPartial:

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

Любая частичная ссылка:

 @Html.Partial("_AnalyticsPartial")

Дает мне ошибку 404 выше;удаление ссылки позволяет успешно выполнить рендеринг.Мои частичные данные могут быть пустыми и все равно приводить к 404.

Почему @Html.Partial вызывает это?

1 Ответ

0 голосов
/ 28 января 2019

404 потому что он не может найти ваше частичное представление.Вам просто нужно указать полный путь к частичному представлению, поскольку он находится в папке, отличной от текущего представления:

@Html.Partial("~/Views/Shared/_HeadPartial")
...