Новый разработчик Blazor здесь ✌️
Я пытаюсь создать простую страницу профиля в корне моего домена. Что-то похожее на instagram.com/nike, но mydomain.com/nike
После запуска dotnet new blazor
у меня есть проект blazor по умолчанию с небольшими изменениями. Я удалил счетчик по умолчанию и домашние страницы, а также удалил элемент панели навигации. Имейте только несколько файлов.
Индекс.бритва
@page "/{Username}"
<h1>@Username</h1>
@code {
[Parameter]
public string? Username { get; set; }
}
Индекс.razor.css
h1 {
color: red;
}
Моя проблема в том, что когда у меня есть эта настройка, CSS во всем проекте ломается...
Если я изменю свой путь на что-то вроде
@page "user/{Username}"
Все работает идеально. Так что я думаю, это что-то из-за того, что проект не может правильно построиться. Есть идеи?
Настройка проекта:
Ошибки консоли:
Не уверен, ищете ли вы необязательный параметр или нет, но вы можете передать строковый параметр компоненту Blazor следующим образом:
@page "/"
@page "/{Username:alpha}"
Это позволит отображать пользовательский компонент или пользовательский компонент со строковым параметром «Имя пользователя».
@code{
[Parameter]
public string Username { get; set; }
}
Проверьте мое редактирование, оно точно такое же
какого черта, вроде работает.. Спасибо! Есть ли что-то особенное в «Альфе»? Если я изменю его на что-нибудь другое, например «бета» или «тест», произойдет сбой, но, похоже, он будет работать только с «альфа»
альфа - это буквенно-цифровой код. Что странно, вы могли бы подумать, что используете {Username:string}, но это не работает. Я пытался.
точно... У меня это сработало с :int, но не с :string. Оооочень странно. Еще раз спасибо, 6 часов потрачено на это..
Если вы хотите направить на свою страницу оба пути, «domain.com/» и «domain.com/nike», вы можете использовать следующий код:
@page "/{user?}"
@code
{
[Parameter]
public string? User { get; set; }
}
'?' символ в {user?} означает, что значение может иметь значение NULL».
Поскольку тип параметров URL-адреса по умолчанию — строковый, вам не нужно явно указывать тип.
Ограничения маршрута
Ваша страница должна выглядеть примерно так: @page "/user/{Username}"
Это я знаю, но я хочу добиться этого на корневом пути, а не на подпути, как
"user/{username}"
, но"/{username}"