ASP.NET Core MVC Partial.html만 갱신이 가능할까요?

안녕하세요.
원래 자바엔지니어였는데 여차저차해서 15년정도 닷넷개발을 하고 있습니다.
닷넷이라고해도 거의 독학인데다가 WinForm개발이 대부분이라 별로 내세울게 없는 정도입니다.
데스크탑 어플만 만들다가 독학으로 ASP.NET Core MVC로 사이트를 만들고 있습니다.
자바할때는 웹엔지니어였는데 거의 20년만이라 웹개발은 완전 신참이네요.
데스크탑 어플의 웹버젼을 만들어보고 있는데 되도록이면 UI를 기존화면 그대로 하고 싶어서
거의 WebForm 비슷하게 만들고 있습니다.
질문 내용을 요약을 하자면
검색, 리스트, 상세내용이 한 화면에 있는 상태에서 리스트를 클릭하면 화면 전이를 시키지 않고 상세내용만 가져와서 뿌려주고 싶은데요.
Ajax로 결과를 HTML을 생성해서 태그를 바꿔주면 될거 같은 내용을 웹검색으로 찾기는 했는데 , 이 상세내용의 HTML이 상당히 길어서 스크립트로 동적 생성하기에는 어려워 보입니다. 물로 할려고야 한다면 못할것도 없지만, 가독성과 유지보수를 생각하면 별로 하고싶지는 않네요.
검색 조건을 Hidden에 담아서 리스트를 계속 뿌려주거나 리스트 결과자체를 Json으로 숨겨뒀다가 DB검색없이 리스트를 다시 만들어 주는 것도 해봤는데 뭔가 이건 아닌거 같고…

싱글페이지라서 MVC보다는 Blazor가 더 적합한거 같기도 해서 갈아탈까도 생각합니다만
뭔가 다른 방법이 없을까 질문드려봅니다.

혹시 샘플사이트라던가 간단한 팁같은거 아시는 분 계시면 답변부탁드립니다.

답은 이미 정해진 것 같아 보입니다.

역시 Blazor가 답인가요?

1 Like

블레이저에서는 호미질이지만, 아니라면 가래로도 막기 힘든 부분이죠.
이미, SPA를 선택하지 않았을 때 직면할 수 있는 문제들을 잘 알고 계신 것 같습니다.

그런데, 혹시나 웹앱을 고려하면서도, 데스크탑 앱스러움에 집착하고 계신 것은 아닌지도 고민해보세요.

“화면 한 번 깜빡이는 게 그렇게 큰 문제인가?”

웹앱은 데스크탑에서 고려하지 않아도 되는 현실적인 문제가 많다는 점은 아실 것입니다.
화면 깜빡임을 없애는 비용 == SPA 비용이 의외로 클 수 있습니다.

물론, 블레이저는 프론트 엔드 기술이기 때문에 윈폼의 폼 디자이너나, WPF의 XAML 을 대체하여 데스크탑 UI 구성 도구로 사용될 수 있습니다. (이를 지원하는 빌드 인프라는 모두 갖춰져 있습니다)
프론트 엔드 기술만 있다면 UI 자유도는 월등히 높다고 할 수 있습니다.

저 같은 경우 간단한 독립앱은 블레이저 와즘으로 빌드해서 정적 서버를 통해 배포합니다.

사용자에게 링크만 주면, OS에 상관 없이 바로 사용이 가능하니까 앱의 배송과 관련해서 신경 쓸게 없습니다. 또한, 요즘은 거의 모든 클라우드 서비스에서, 정적 호스팅은 거의 무료이기 때문에 앱 배송의 비용도 들지 않습니다. 1년에 2만원 이하여 도메인 비용만 들 뿐이죠.

4 Likes

눈이 확 떠지네요.
바쁜 와중에 친절한 답변 감사합니다. 한수배우고 갑니다.
어차피 공부 겸해서 만드는 거니 MVC로 완성을 봐야겠네요.
:ok_man:

3 Likes

HTMX를 살펴보세요. HTMX 한글 자료도 검색이 됩니다.

HTMX를 ASP.NET Core에서 편하게 사용할 수 있도록 도와주는 라이브러리도 있습니다.

이 분의 관련 글은 아래 링크를 통해

htmx로 검색하셔서 살펴볼 수 있습니다.

이분의 이 글도 참고 바라고요.

3 Likes

오!! 정보 감사합니다. 당장 해봐야겠네요 ㅎㅎ

1 Like

결과 보고합니다.

dimohy
덕분에 하려고 했던데로 할 수있었습니다.
새로운거 하나 배워갑니다.
영어 공부 좀 해야겠네요 ㅎㅎ

BigSquare
업무용 사이트라서 기존 데스크탑앱의 UI를 중시했었는데
안되는건 안돼라고 생각하면 의외로 문제해결은 간단할수도 있다는 생각이 듭니다.

여러분 덕분에 이것저것 문제해결도 하고 고정관념을 깨는 계기가 된것 같습니다.
속이 다 시원하네요 ㅎㅎ 조언 정보 감사합니다.

4 Likes