Notice
Recent Posts
Recent Comments
Tags
- jquery 바코드생성
- 타임피커
- 파일업로드 유효성체크
- jquery 바코드
- javascript 바코드 생성
- asp.net Select
- 바코드 생성하기
- javascript 유효성체크
- django 엑셀불러오기
- 강제이동
- javascript 바코드스캔
- asp.net dropdownlist
- 말줄임표시
- javascript redirection
- asp.net core Select
- XSS PHP
- php 캐쉬제거
- 하드 마이그레이션
- 맥 오라클설치
- ViewBag
- ViewData
- Mac Oracle
- TempData
- 바코드 스캔하기
- XSS방어
- ASP.Net Core 404
- SSD 복사
- 파일업로드 체크
- 하드 윈도우 복사
- 404에러페이지
웹개발자의 기지개
[ASP.Net Core] Radio 버튼 처리해보기 본문
상단 이미지 처럼 Input 박스의 Radio 버튼들을 ASP.Net Core 상에서 처리하는 방법을 정리해 보았다.
<쓰기 모드>
[ SpoDc.cs ] - DC 관련 기본 테이블 entity
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChilgokReserveSystem.Api.Models
{
[Table("DC")]
public class SpoDc
{
public string PsGroup { get; set; } = string.Empty;
public string Code { get; set; } = string.Empty;
public string Name { get; set; } = string.Empty;
public int Yul { get; set; } = 0;
public string JIJUM_CODE { get; set; } = string.Empty;
}
}
|
cs |
[ SpoDcRepository.cs ] - Repository 클래스
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
31
32
33
|
using ChilgokReserveSystem.Api.DB;
using Dapper;
using Microsoft.Data.SqlClient;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChilgokReserveSystem.Api.Models
{
public class SpoDcRepository
{
public IConfiguration _config;
private SqlConnection con;
private WebDbContext db = null;
public SpoDcRepository(IConfiguration config, WebDbContext db)
{
_config = config;
con = new SqlConnection(_config.GetSection("ConnectionStrings")
.GetSection("Web").Value);
this.db = db;
}
public List<SpoDc> GetAll()
{
string sql = "select * from DC";
return con.Query<SpoDc>(sql).ToList();
}
}
}
|
cs |
GetAll() 메소드는 Dapper 방법으로 DC 정보를 모두 읽어 왔다.
[ MemberController.cs ] - 생성자 종속성 주입(DI)
1
2
3
4
5
6
7
8
9
10
11
12
|
private SpoDcRepository dcRep = null;
public MemberController(SpoDcRepository dcRep)
{
this.dcRep = dcRep;
}
// 할인율 Radio Button
List<SpoDc> rateList = dcRep.GetAll();
ViewBag.RateDcList = rateList;
return View();
|
cs |
실제 Controller 파일이다.
SpoDcRepository 를 종속성 주입시키고 있다.
ViewBag 형태로 List로 담은 DC 클래스들을 저장시켜서 cshtml (View Razor Page) 로 넘겨준다.
[ Register.cshtml ] - View
1
2
3
4
5
6
7
8
9
10
11
12
|
<input type="radio" id="Dcgubun0" name="Rate" value="0" checked >
<label for="Dcgubun0" class="form-check-label">할인없음</label> <br />
@{
int num = 1;
}
@foreach (var rateList in ViewBag.RateDcList)
{
<input type="radio" id="Dcgubun@(num)" name="Rate" value="@rateList.Code" class="form-check-input" style="padding:0;">
<label for="Dcgubun@(num)" class="form-check-label">@Html.Raw(rateList.Name) (@rateList.Yul%)</label> <br />
num++;
}
|
cs |
<수정 모드>
[ Modify.cshtml ] - View
1
2
3
4
5
6
7
8
9
10
11
|
<input type="radio" id="Dcgubun0" name="DcGubun" value="0" @(Model.DcGubun=="0" ? "checked" : "") >
<label for="Dcgubun0" class="form-check-label">할인없음</label> <br />
@{
int num = 1;
}
@foreach (var rateList in ViewBag.RateDcList)
{
<input type="radio" id="Dcgubun@(num)" name="DcGubun" value="@rateList.Code" @(Model.DcGubun == rateList.Code ? "checked" : "") >
<label for="Dcgubun@(num)" class="form-check-label">@Html.Raw(rateList.Name) (@rateList.Yul%)</label> <br />
num++;
}
|
cs |
@(Model.DcGubun == rateList.Code ? "checked" : "") 형태로 조건식을 달아서 checked 시킨다.
HTML 소스보기 내용
1
2
3
4
5
6
7
8
|
<input type="radio" id="Dcgubun0" name="Rate" value="0" checked> <label for="Dcgubun0" class="form-check-label">할인없음</label> <br />
<input type="radio" id="Dcgubun1" name="Rate" value="1"> <label for="Dcgubun1" class="form-check-label">중구구민 (10%)</label> <br />
<input type="radio" id="Dcgubun2" name="Rate" value="2"> <label for="Dcgubun2" class="form-check-label">어린이,청소년,노인 (30%)</label> <br />
<input type="radio" id="Dcgubun3" name="Rate" value="3"> <label for="Dcgubun3" class="form-check-label">기초수급할인 (50%)</label> <br />
<input type="radio" id="Dcgubun4" name="Rate" value="4"> <label for="Dcgubun4" class="form-check-label">국가유공자할인 (50%)</label> <br />
<input type="radio" id="Dcgubun5" name="Rate" value="5"> <label for="Dcgubun5" class="form-check-label">복지(장애인) (50%)</label> <br />
<input type="radio" id="Dcgubun6" name="Rate" value="6"> <label for="Dcgubun6" class="form-check-label">스포츠강좌할인 (100%)</label> <br />
<input type="radio" id="Dcgubun7" name="Rate" value="7"> <label for="Dcgubun7" class="form-check-label">장애인스포츠강좌 (100%)</label> <br />
|
cs |
'ASP.NET > ASP.NET Core' 카테고리의 다른 글
[ASP.Net Core] Entity Framework Core 2 - LINQ ( Include , ThenInclude ) (0) | 2023.09.30 |
---|---|
[ASP.Net Core] SeriLog 로그 작업하기 (0) | 2023.09.13 |
[ASP.Net Core] 네이버에디터2 연동하기 - 에디터 이미지 첨부하기 (0) | 2023.07.11 |
[ASP.Net Core] 비동기 처리하기 async, await 키워드 이용 (0) | 2023.07.08 |
[ASP.Net Core] FromForm, FromBody, FromQuery (0) | 2023.06.28 |
Comments