Я создал небольшой веб-сайт Blazor для себя, используя бесплатный шаблон, в котором есть несколько файлов javascript. Кажется, что все работает нормально, за исключением одной вещи.
Когда пользователь перезагружает (F5) страницу сведений о проекте, вся HTML-разметка исчезает, и консоль показывает кучу журналов ошибок, указывая, что он не может найтисвязанные файлы JavaScript. Перезагрузка любой другой страницы работает нормально.
Вот страница бритвы
@page "/project/{Slug}"
@using DOGA.Data
@using DOGA.Services
@inject ProjectService projectService
@inject NavigationManager navigationManager
@if (_project == null)
{
<p><em>Loading...</em></p>
}
else
{
<section id="pricing" class="pricing-area">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-10">
<div class="section-title text-center pb-20">
<h3 class="title">@_project.Name</h3>
<p class="text">
@((MarkupString)_project.Description)
@if (_project.BulletPointList.Items.Any())
{
<br />
@_project.BulletPointList.Name
<br />
<br />
<ul style="text-align:left;">
@foreach (var item in _project.BulletPointList.Items)
{
<li>
<i class="lni-check-mark-circle"></i> @item
</li>
}
</ul>
}
</p>
</div> <!-- section title -->
</div>
</div> <!-- row -->
@foreach (var image in _project.DetailImages)
{
<div class="row justify-content-center">
<div class="col-lg-12 col-md-7 col-sm-9">
<div class="pricing-style-one mt-40 wow fadeIn" data-wow-duration="1.5s" data-wow-delay="0.2s">
<div class="pricing-header text-center">
<h5 class="sub-title">@image.ImageName</h5>
</div>
<div class="text-center">
<img src="@image.ImageLink" alt="@image.ImageName">
</div>
<div class="text-center top-buffer">
<br />
@image.ImageDescription
</div>
@if (image.BulletPoints.Any())
{
<br />
<div class="pricing-list">
<ul>
@foreach (var item in image.BulletPoints)
{
<li><i class="lni-check-mark-circle"></i> @item</li>
}
</ul>
</div>
}
</div>
</div>
</div>
}
</div>
</section>
}
@code {
[Parameter]
public string Slug { get; set; }
private Project _project { get; set; }
protected override async Task OnInitializedAsync()
{
_project = await projectService.GetProjectAsync(Slug);
if (_project == null)
{
navigationManager.NavigateTo("/");
}
}
}
Ошибка появляется как локально, так и на опубликованном лазурном сайте.
На данный момент сайт развернут на Azure. Имейте в виду, это на голландском языке. Ошибка появляется при переходе на страницу портфолио, нажатии на один из трех проектов и последующем жестком обновлении. https://dogasolutions.azurewebsites.net/
РЕДАКТИРОВАТЬ: после исправления ссылок путем добавления '/' (благодаря gsharp), страница, кажется, перезагружается нормально, за исключением файла javascript Blazor.
В_host.cshtml внутри тегов body:
<app>
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))
</app>
<script src="/_framework/blazor.server.js"></script>