본문 바로가기

.NET/ASP.NET

Jquery.Linq.js 사용하기

.NET 4.0으로 웹 어플리케이션을 만들어 봤다. 

간단하게 서버에서 Person이라는 객체를 Json으로 시리얼라이징해서

클라이언트에 보내준다. 클라이언트에선 그 값을 받아 linq를 사용하여

엘러먼트를 추가해 준다.

<script src="Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>        
<script src="Scripts/jquery.linq.min.js" type="text/javascript"></script>



 $(document).ready(function () {          
            $.ajax({
                url: "WebForm1.aspx",

                dataType: 'json',
                success: function (data) {
                    $.Enumerable.From(data).ForEach(function (t) {
                        $("<span>test" + t.FirstName + "</span><br/>").appendTo('#test');
                    });
                }
            });
        }); 


  <div id="test" style="width:300px; clear:both"></div>


위의 코드에서 보면 success되었을때 기존에는 data.d로 받았지만 4.0에서는 그냥 순수 데이터를 받는다.

그럼 서버코드를 보자.
 

public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<Person> persons = new List<Person>{
             new Person { FirstName = "test1", Sex = "male1", SurName = "aaa1" },
             new Person { FirstName = "test2", Sex = "male2", SurName = "aaa2" },

            };
            Response.ContentType = "html/json";
            Response.Write(Hunet.Core.Serialization.SerializationHelper.Serialize(persons, Hunet.Core.Serialization.SerializationFormat.Json));
            Response.End();

        }
    }
    public class Person
    {

        public string SurName { get; set; }
        public string FirstName { get; set; }
        public string Sex { get; set; }

    }

그냥 단순하게 List<Person> Generic으로 생성해서 json으로 시리얼라이징해서 리스폰스한다.