728x90

https://localhost:7132/param/testdata 가 주소인 경우 마지막의 testdata를 인자값으로 받아서 처리할 수 있습니다.
이렇게 웹페이지 주소의 값을 Parameter 로 사용하는 방법입니다.

@page "/param/{text}"

<h1>Blazor is @Text!</h1>

@code {
    [Parameter]
    public string? Text { get; set; }
}

위처럼 정의 한 후 프로젝트를 실행하고 https://localhost:7132/param/testdata 값을 입력하면 아래처럼 마지막 값이 화면에 표시됩니다.

그런데 이경우 마지막 인자값을 넣지 않은 경우 아래처럼 페이지가 제대로 표시되지 않습니다.

이럴때는 아래처럼 ? 를 붙여서 정의해주면 기본값으로 바인딩되어 표시됩니다
@page "/param/{text?}"

@page "/param/{text?}"

<h1>Blazor is @Text!</h1>

@code {
    [Parameter]
    public string? Text { get; set; }

    protected override void OnInitialized()
    {
        Text = Text ?? "default";
    }
}

당연히 주소 마지막에 표시할 값을 넣은 경우에는 값이 표시됩니다.

728x90
Posted by kjun.kr
,