button click에 연결한 함수 실행시, 다른 태그에 연결한 동일 함수가 실행되는 이유.
465
1 asked
<h5>@AddStr("1234")</h5>
<h6>@AddStr("5678")</h6>
<p>P 태그</p>
<span>SPAN 태그</span>
<button @onclick="@(e => AddStr("아멘"))">눌러보기</button>
상기와 같이 태그를 작성한 경우,
실행 후 button을 클릭하면 h5, h6에 연결한 함수들 까지 같이 실행되어 Console에 찍힙니다. 그 이유를 모르겠네요. 설명 부탁드립니다.
물론 함수는 아래와 같이 정의했습니다.
private string AddStr(string p1)
{
string strget = p1 + " 대한민국 ^^";
Console.WriteLine(strget);
return strget;
}
Answer 1
0
이렇게 생각하시면 됩니다.
public string AddStr 로 하셨기 때문에 저 값은 함수보다는 변수에 가깝습니다.
버튼에서 람다 식으로 AddStr 을 실행 시키고 나면 변수에 저장되어 있는 현재 값이 업데이트가 되고 블레이저는 C#이 붙은 지점을 새롭게 작성합니다. 그때 <h5>@AddStr("1234")</h5> 이라고 적어주셨는데 이 코드의 뜻은 "페이지가 렌더링 될때 마다 Addstr에 1234라는 값을 넣고 변수에서 처리한 값을 h5 태그 안에 출력한다!" 입니다. <h6> 안도 마찬가지로 생각해 주시면 됩니다.
즉, 버튼을 누를 때 마다 Addstr 값이 업데이트 되고 이를 감지한 블레이저에서 페이지를 다시 렌더링 하기 때문에 h5및 h6에 있는 변수가 계속해서 실행되는 것입니다.
SERVER 2019 애저 세팅 설치 오류
0
146
1
클래스 라이브러리 (.NET Core)이 없으면 클래스 라이브러리 선택하시면 됩니다.
0
135
1
NET 9.0 버전에서의 레이아웃 적용
1
171
1
Visual Studio 2022에서 프로젝트 만들기 질문
0
317
2
Radzen.Blazor.RadzenTheme 오
0
262
4
MVC를 제대로 이해를 못했는데,
0
175
1
ASP.NET
0
153
1
Class 설계 후 Razor 에서 호출!
0
96
1
wpf 응용 질문
0
80
1
3번째 강의 11분 39초에서 진행이 안됩니다. 여러번해도 그곳에서 오류납니다.
0
97
2
올려주신 소스코드 관련해서 질문드립니다.
0
178
2
LING #1 에서.. 서버 GC문제
0
263
3
강의 잘들었습니다. 감사합니다. 질문이 있어서요...
0
249
1
블레이저 서버와 웹어셈블리
0
1270
1
blazor server 에서의 token auth 진행 과정
1
993
1
재질문
1
312
1
변수 상태유지
1
237
1
프로젝트 기본 구조
1
265
1
RenderMode
1
557
1
수명 구성 요소에 대한 질문
1
257
1
SPA에 대한 질문 -2
1
295
2
SPA에 대한 질문
1
263
1
종속성 주입
1
387
2
페이지 생성
1
281
2

