반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발꿈나무

[Blazor] Blazor에서 JavaScript 사용하기 (div.empty() 작업) 본문

C#/Blazor

[Blazor] Blazor에서 JavaScript 사용하기 (div.empty() 작업)

HYOKYE0NG 2021. 11. 22. 15:49
반응형

Blazor에서 프로젝트를 진행하던 중 div를 비워야 하는 상황이 발생했다.

구글을 엄청 뒤져봤는데, blazor에서 div의 content를 바로 지우는 방법을 찾지 못했다.

그래서 JavaScript를 사용하기로 했다.

 

 

JS 코드 작성

따로 .js파일을 만들어도 되지만, 나는 귀찮았기 때문에

blazor defailt 파일인 _Host.cshtml에 js코드를 작성했다.

js 코드는 무조건 <body> 태그 안에 작성해야 한다.

<body>
	<script>
        function EmptyId(div_name) {
            var content = document.getElementById(div_name);
            if (content.innerHTML != "")
            {
                content.innerHTML = "";
            }
        };
    </script>
</body>

div_name이라는 매개변수를 가지는 EmptyId라는 function을 만들었다.

div_name을 통해 div를 가져와서

div의 innerHTML을 비우는 함수이다.

 

 

 

JS 코드 호출

나는 razor 파일의 @code 부분에서 js 함수를 호출했다.

호출하는 방법은 다음과 같다.

@inject IJSRuntime JSRuntime

@code{
  protected async void CallJSMethod()
  {
      await JSRuntime.InvokeVoidAsync("EmptyId", "tabdiv_name");
  }
}

IJSRuntime을 inject 한 후

await.JSRuntime.InvokeVoidAsync("함수명", 매개변수) 형식으로 호출한다.

 

 

return 값이 없는 경우 InvokeVoidAsync 메소드를 사용하면 되지만,

return 값이 있는 경우 InvokeAsync<return type> 메소드를 사용해야 한다.

await JSRuntime.InvokeAsync<string>("EmptyId", "tabdiv_name");
반응형
Comments