簡単な使い方
導入
BlazorプロジェクトにBlazorPathHelperをインストールします。
BlazorPathHelperをインストールする |
---|
| dotnet add package BlazorPathHelper
|
URLビルダー
以下のような razor
ファイルが存在していたとします。
Sample.razor |
---|
| @page "/sample"
@page "/sample/{id:int}"
@page "/sample/{value}"
|
BlazorPathHelper
を導入すると、以下のようなコードが 自動的に 生成されます。
Auto Generated Code |
---|
| // <auto-generated />
public partial class Sample
{
public static string UrlBuild()
=> "/sample";
public static string UrlBuild(int id)
=> string.Format("/sample/{0}", ToStringForUrl(id));
public static string UrlBuild(string value)
=> string.Format("/sample/{0}", ToStringForUrl(value));
}
|
以下のように使用することができます。
Usage.cs |
---|
| var url1 = Sample.UrlBuild(); // -> "/sample"
var url2 = Sample.UrlBuild(1); // -> "/sample/1"
var url3 = Sample.UrlBuild("test"); // -> "/sample/test"
|
Navigation.razor |
---|
| @inject NavigationManager NavigationManager
@code {
void OnClick()
{
var navigationUrl = Sample.UrlBuild(1);
NavigationManager.NavigateTo(navigationUrl);
}
}
|
制約
この簡易生成は以下のようなケースでは正常に動作しません。
これらに該当する場合は 高度な使い方 を参照してください。
クエリパラメータを使用する場合
SampleWithQuery.razor |
---|
| @page "/query"
@code {
[SupplyParameterFromQuery]
public int Value { get; set; }
}
|
複数のURL定義が存在し、引数の型が一致する場合
Conflict2.razor |
---|
| @page "/c/{foo:int}"
@page "/d/{bar:int}"
|
URL定義が定数で行われている場合
ConstantUrl.cs |
---|
| @* public const string ConstUrl = "/constant"; *@
@attribute [Route(ConstUrl)]
|