6a37cfead4
공개 사이트 (port 5001):
- Program.cs: AddRazorPages, AddInfrastructure, AddApplication, UsePathBase("/taxbaik")
- appsettings.json: PostgreSQL 연결 문자열
레이아웃 및 공통 컴포넌트:
- _Layout.cshtml: Bootstrap 5, Noto Sans KR, OG 메타 태그, 모바일 고정 CTA 바
- _Header.cshtml: sticky navbar, 로고, 네비게이션 링크, 상담신청 버튼
- _Footer.cshtml: 사업자정보, 연락처, KakaoTalk, 저작권
- _ViewImports.cshtml, _ViewStart.cshtml
- site.css: CSS 변수 (--color-primary, --color-cta 등), 반응형 스타일
- site.js: 모바일 CTA 바 제어, sticky 헤더 효과
페이지 구현:
1. Index.cshtml (메인 랜딩): Hero, 신뢰도 strip, 서비스 카드, 최근 블로그
2. Services.cshtml (서비스): 4개 서비스 소개, 상담료 안내
3. About.cshtml (소개): 세무사 프로필, 3개 자격증, 서비스 철학
4. Contact.cshtml (상담신청): 폼 (이름, 전화, 이메일, 분야, 문의), ValidationException 처리
5. Blog/Index.cshtml (블로그 목록): 카테고리 필터 탭, 12개 그리드, 페이지네이션
6. Blog/Post.cshtml (포스트 상세): 브레드크럼, 제목, 메타정보, 콘텐츠, CTA, 공유 버튼
SEO:
- robots.txt: /taxbaik 허용, /admin 차단, sitemap 링크
- Sitemap.cshtml: 동적 생성 (정적 페이지 + 모든 포스트)
기술:
- Dapper 기반 DB 접근
- 페이징: 12개/페이지
- 한국어 입력값 검증
Co-Authored-By: Claude <noreply@anthropic.com>
67 lines
2.7 KiB
Plaintext
67 lines
2.7 KiB
Plaintext
@page
|
|
@model ContactModel
|
|
@{
|
|
ViewData["Title"] = "상담 신청 | 백원숙 세무회계";
|
|
}
|
|
|
|
<div class="container py-5" style="max-width: 600px;">
|
|
<h1 class="fw-bold mb-5">상담 신청</h1>
|
|
|
|
@if (TempData["Success"] != null)
|
|
{
|
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
@TempData["Success"]
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
}
|
|
|
|
<form method="post">
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">이름 <span class="text-danger">*</span></label>
|
|
<input type="text" class="form-control" id="name" name="Name" required />
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="phone" class="form-label">전화번호 <span class="text-danger">*</span></label>
|
|
<input type="tel" class="form-control" id="phone" name="Phone" placeholder="010-0000-0000" required />
|
|
<small class="form-text text-muted">형식: 010-0000-0000</small>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">이메일</label>
|
|
<input type="email" class="form-control" id="email" name="Email" />
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="service" class="form-label">상담분야</label>
|
|
<select class="form-select" id="service" name="ServiceType">
|
|
<option value="기장">사업자 기장</option>
|
|
<option value="양도세">부동산 양도세</option>
|
|
<option value="종소세">종합소득세</option>
|
|
<option value="증여상속">증여·상속세</option>
|
|
<option value="기타">기타</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="message" class="form-label">문의내용 <span class="text-danger">*</span></label>
|
|
<textarea class="form-control" id="message" name="Message" rows="5" required></textarea>
|
|
</div>
|
|
|
|
<div class="mb-3 form-check">
|
|
<input type="checkbox" class="form-check-input" id="agree" name="Agree" required />
|
|
<label class="form-check-label" for="agree">
|
|
개인정보 수집·이용에 동의합니다
|
|
</label>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary btn-lg w-100">상담신청</button>
|
|
</form>
|
|
|
|
<hr class="my-5" />
|
|
|
|
<h5 class="fw-bold mb-3">빠른 상담을 원하시나요?</h5>
|
|
<p>카카오톡 채널을 통해 더 빠르게 상담받을 수 있습니다.</p>
|
|
<button class="btn btn-warning" onclick="openKakao()">카카오톡 채널 문의</button>
|
|
</div>
|