Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : 데브렉 Blazor 질문 드립니다.
글번호: 918
작성자: 레드플러스
작성일: 2021/02/08 오후 2:18:00
조회수: 2908

 

안녕하세요. 박용준 강사입니다.

 

우선, 아래 요청 주신 부분만 봐서는 정확히 알수는 없지만,

IsShow 속성에 따라서 모달 팝업이 띄우거나 닫거나 하는 것 같습니다.

 

(1)

처음 로드할 때 IsShow 속성을 false로 초기화해 놓는 부분을 추가해 보시면 어떨까합니다.

또한,

model = new LSDetail(); // 모델 초기화

부분을

버튼 클릭할 때 하는게 아닌 OnInitialize() 메서드에서 주는 것도 좋을 듯 합니다.

 

(2)

그리고, 블레이저 파트 2 강좌인 게시판 프로젝트 강좌에서도

모두 데이터 입력하는 부분은 모달 팝업으로도 제공하고 있으니까, 현재 작성하신 부분과

제 강의 소스(특히, ReplyApp)를 비교해보시면 좋을 것 같습니다. 

 

(3)

추가적으로,

다음 샘플 코드에서도 

Portfolio selectedPortfolio = new Portfolio(); 부분이 선언과 동시에 초기화하지 않으면, 두번 클릭해야 모달 폼이 뜨는 경우입니다. 

https://github.com/VisualAcademy/RedPlus.RazorPages/blob/main/RedPlus/Components/PortfolioList.razor

 

어쨌든,

두 번 클릭했을 때 데이터를 정상적으로 가져온다면,

첫 번째 클릭할 때 개체가 생성되고 그 다음에 그 개체가 생성되었기에 팝업이 뜨는 듯 합니다.

이 부분을 한 번 생각해보시고,

현재 작업하고 계시는 부분의 소스를 검토해 보시면 좋습니다.

 

 

이상입니다.

 

 


On 2021-02-08 오후 1:57:00, '조재문' wrote:

 

 


안녕하세요?

데브렉에서 강의 잘 보고 있습니다.

블레이즈 3 강의를 보고 웹페이지를 응용하여 작 적용 하고 있습니다.

 

블레이즈에서 추가 버튼을 클릭하면 잘 실행 되는데

레파지토리와 연결되면 클릭이 반응이 없고 한번더 클릭하면 실행됩니다.

소스는

<input type="button" name="btnCreate" value="추가"
                   class="btn btn-primary"
                   @onclick="ShowEditorForm" />

 

protected async void ShowEditorForm()
        {
            string year = DateTime.Now.Year.ToString();
            gameList = await LSDetailRepositoryReference.GetAllGameNameAsync(year); // 종목명 
            model = new LSDetail(); // 모델 초기화
            EditorFormTitle = "세부종목 추가하기";
            IsShow = true;
        }

 

이 현상을 어떻게 하면 해결할 수 있는지 궁금합니다.

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트
  spomation
  2021-02-08 오후 2:45:48
빠른 답변 감사합니다.
말씀하신 내용 살펴 원인을 찾았습니다.
StateHasChanged();
강사님 강의 중 이것에 대한 부분에 언급하신게 생각이 났습니다.
감사합니다.

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 새해 복 많이 받으세요... - 조재문 2021-02-13 2474
  데브렉 Blazor 질문 드립니다. - 조재문 2021-02-08 2600
현재글 Re : 데브렉 Blazor 질문 드립니다.(1) - 레드플러스 2021-02-08 2908
다음글 CarWorld 질문입니다. - 김지현 2021-01-26 2533
 
손님 사용자 Anonymous (손님)
로그인 Home