본문 바로가기

프로그래밍/javascript

ASP.NET 에서 Ajax 사용하기.

1. Repository클래스 구성

 

- 이 부분은 DB접속 및 데이터를 가져오는 클래스입니다.

 

단순히 DB에 접속하여 데이터를 가져오는 부분이기 때문에 각자의 스타일대로 구현 하면된다.

 

나는 ADO.Net을 이용하여 DB에 접근하고 프로시저를 통해 DataSet을 반환하도록 구성할 것이다.

 

최근들어 알게된 Micro ORM인 Dapper.Net 또한 유용하게 사용할 수 있으니 관심이 있는 사람은

 

참고해보면 좋을것 같다.

 

 

public class RepositoryClass
{
        
        public List<모델클래스> GetData(int Key)
        {
            

List<모델클래스>data = new List<모델클래스>();

 

 

            return data;

        }

}

 

 

 

2. 모델클래스 정의

 

이 부분은 DB에서 가져온 DataTable의 ModelView 클래스 입니다.

 

단순히 DB에서 가져오는 DataTable의 항목을 멤버로 가지면 된다.

 

 

public class 모델클래스

{

int Key {get;set;} //Key

}

 

 

 

3. WebService 구성 (.asmx)

 

이 부분은 ajax에서 호출하기 위한 웹서비스를 구성하는 부분입니다.

 

현재 내가 정리하는 부분은 웹서비스를 호출하면 해당하는 데이터를 Json방식으로 데이터를 반환 하고

 

있지만,

 

.net에서는 .asmx의 웹서비스는 상당히 오래된 기술이라고 한다..

 

최근 들어서는 .net의 WEB API를 호출하여 (POST, GET, PUT, DELETE) 의 요청을 하여 Json 방식

 

으로 데이터를 반환 시킬 수도 있다고 한다.

 

이부분에 대해서는 다음 기회에 알아가도록 한다.

 

 


        [WebMethod(EnableSession = true)]
        public List<모델클래스> GetData(int key = 0)
        {
            Repository클래스 repository = new Repository클래스();

            return repository.GetData(key);

        }

 

 

 

4.aspx에서 ajax 호출

 

이 부분에서 ajax를 호출 한다.

 

 

function GetData() {

            var keydata = '1';

 

            $.ajax({
                type: "POST",
                url: "WebService/웹서비스.asmx/GetData"

                data: "{key':'" + keydata + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
            function OnSuccess(r) {

 

//성공시 처리할 내용 수행

 

                }
            }

        }