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를 설정해놨다.

 

localhost:8080/test

파라미터를 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 를 작성해서 타입을 지정해주면 된다.

 

그럼 아주 잘 넘어온다.

 

 

코딩의 세계는 정말 험난하다.