C#/ASP.NET core
Blazor) 페이지 URL로 파라미터 전달하기.
HwanHwan2
2022. 3. 13. 17:48
우리나라에서 Blazor를 쓰는 곳이 많이 없다보니 검색을 해도 찾기가 매우 힘들다.
몇 시간을 검색해서 찾은 것을 적어놓는다.
Blazor에서 페이지로 파라미터를 넘기는 방법.
@page "/test"
<h3>Test1</h3>
<input @bind = "testParam" />
<a href = "/test2/@testParam">gogo</a>
@code {
int testParam { get; set; }
}
페이지 이름을 /test로 설정하고
파라미터를 입력받아 /test2로 넘기는 상황이다.
@code로 testParam getter setter를 설정해놓고
href를 설정해놨다.
파라미터를 11로 입력하고 gogo를 누르면 /test2페이지로 이동한다.
/test2 페이지이다.
@page "/test2/{testParam}"
<h3>test2</h3>
test1에서 넘어온 파라미터 값 : @testParam
@code {
[Parameter]
public int testParam { get; set; }
}
URL을 통해 넘어온 파라미터를 출력하는 코드를 위에처럼 작성했다.
그런데 자꾸 에러가 발생한다.
Unable to set property 뭐시기 하면서 파라미터 값이 안넘어간다.
이 에러에서 중요하게 봐야 할 것이 있다.
파라미터 타입이 설정이 안됐던 것이다.
해결하는 방법은 @page에서 넘어오는 파라미터의 타입을 지정해주면 된다.
@page "/test2/{testParam:int}"
<h3>test2</h3>
test1에서 넘어온 파라미터 값 : @testParam
@code {
[Parameter]
public int testParam { get; set; }
}
testParam : int 를 작성해서 타입을 지정해주면 된다.
그럼 아주 잘 넘어온다.
코딩의 세계는 정말 험난하다.