DataTable을 Json으로 변환하는 함수
.cs
public static string ConvertDataTabletoString(DataTable dt)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
데이터 가져오기
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string LoadSchedule(string indicatorseq, string orgno, string userid)
{
DataTable dt = PPPBiz.Exam.GetLeftBasicInfo(indicatorseq, orgno, userid, "A");
if (dt == null || dt.Rows.Count < 1)
{
ShowMessage.PrintMsgBack("05011421 : 응시할 시험이 없습니다.");
}
return ConvertDataTabletoString(dt);
}
화면에 뿌리기
.aspx
<asp:ScriptManager ID="scriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
.js
function LoadScheduleHtml(response) {
var parsed = $.parseJSON(response.d);
var result = '';
$.each(parsed, function (i, jsondata) {
var liTitle = $(document.createElement('li'));
liTitle.append(parsed[i].BINDICATORNAME);
});
$('#lbSchedule').html(result);
}
function LoadSchedule() {
$.ajax({
type: "POST",
url: "Schedule.aspx/LoadSchedule",
data: '{indicatorseq: "' + $('#hdIndicatorseq').val() + '", orgno: "' + $("#hdOrgno").val() + '", userid: "' + $("#hdUserid").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: LoadScheduleHtml,
error: function (XHR, errStatus, errorThrown) {
var err = JSON.parse(XHR.responseText);
errorMessage = err.Message;
alert(errorMessage);
}
});
return false;
}
$(function () {
LoadSchedule();
});
'프로그래밍 > ASP.NET' 카테고리의 다른 글
Literal 에 BR 태그 적용하기 (0) | 2014.05.16 |
---|---|
천단위 콤마, 소숫점 자릿수 지정하는 내장함수 (0) | 2014.05.15 |
jQuery 오픈소스를 이용한 ASP.NET 다중파일 업로드, 리눅스 서버에 파일 업로드 (0) | 2014.03.27 |
넘어오는 폼값 전체출력 (0) | 2013.12.23 |
ASP.NET 전화번호 구분자로 반환 (0) | 2013.12.05 |