hi, im trying to implement the webservice binding client side demos on my own project but, the radgrid wont bind the json result
here is my aspx file
and here is my service.cs
i've debug the code with firebug and fiddler and its there the json result, but radgrid keep show "no records to display"
please help me, thanks
regards
dimas
here is my aspx file
<%@ Page Language = "C#" AutoEventWireup = "true" CodeBehind = "LogSms.aspx.cs" Inherits = "Course.Pages.WebForm.LogSms" MasterPageFile = "../../SharedPage/PageMaster.Master" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <asp:Content runat = "server" Id = "HeadContent" ContentPlaceHolderID = "HeadContent"></asp:Content><asp:Content Id = "LeftContent" ContentPlaceHolderID = "LeftContent" runat = "server"> </asp:Content><asp:Content runat = "server" Id = "MainContent" ContentPlaceHolderID = "MainContent"> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> //<![CDATA[ function pageLoad(sender, args) { setInterval(getData, 10000); } function getData() { Course.FakeWebService.GetSmsRequestLog(updateGrid); } function updateGrid(result) { var tableView = $find("<%= RadGridKu.ClientID %>"); var mtv = tableView.get_masterTableView(); mtv.set_dataSource(result); mtv.dataBind(); } //]]> </script> </telerik:RadCodeBlock> <asp:ScriptManager ID="ScriptManager" runat="server"> <Services> <asp:ServiceReference Path="../../FakeWebService.asmx"/> </Services> </asp:ScriptManager> <telerik:RadGrid ID="RadGridKu" runat="server"> <MasterTableView Enabled="true"> <Columns> <telerik:GridBoundColumn DataField="RequestId" UniqueName="RequestId" HeaderText="Request ID" Display="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="HeadParam" UniqueName="HeadParam" HeaderText="Head Param" Display="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DataParam" UniqueName="DataParam" HeaderText="Data Param" Display="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="LogDate" UniqueName="LogDate" HeaderText="Log Date" Display="true"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings> <ClientEvents OnCommand="function(){}"></ClientEvents> <DataBinding Location="../../FakeWebService.asmx" SelectMethod="GetSmsRequestLog"/> </ClientSettings> </telerik:RadGrid></asp:Content>and here is my service.cs
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Globalization;using System.Linq;using System.Net;using System.Net.Security;using System.Text;using System.Web;using System.Web.Script.Services;using System.Web.Services;using System.Xml;using Course.Entity;namespace Course{ /// <summary> /// Summary description for FakeWebService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class FakeWebService : WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } private string SessionLogSmsRequest { get { return (string)HttpContext.Current.Session["LogSmsRequest"]; } set { HttpContext.Current.Session["LogSmsRequest"] = value; } } public FakeWebService() { new Random(DateTime.Now.Millisecond); } [WebMethod(EnableSession = true), Description("Ambil Feed Sms Request")] public DataSet GetSmsRequestLog() { //// create data table var service = new ServiceReference1.SMSListenerClient(); var listObject = new List<ObjectEntityClass.LogSmsRequest>(); if(SessionLogSmsRequest != null) { var myobject = service.GetListLogSms(1); listObject = Class.JsonHelper.Deserialize<List<ObjectEntityClass.LogSmsRequest>>(myobject); } else { var myobject = service.GetListLogSms(1); listObject = Class.JsonHelper.Deserialize<List<ObjectEntityClass.LogSmsRequest>>(myobject); } SerializeData(listObject); var dataSet = new DataSet("LogSmsRequestDataSet"); var reader = XmlReader.Create(new System.IO.StringReader(SessionLogSmsRequest)); dataSet.ReadXml(reader); return dataSet; } private List<ObjectEntityClass.LogSmsRequest> GetListData(string xmlData) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xmlData); var listSmsRequest = new List<ObjectEntityClass.LogSmsRequest>(); if (xmlDocument.DocumentElement != null) { listSmsRequest = (from XmlNode quoteNode in xmlDocument.DocumentElement.ChildNodes select GetLogSmsRequest(quoteNode)).ToList(); } return listSmsRequest; } private static ObjectEntityClass.LogSmsRequest GetLogSmsRequest(XmlNode logSmsRequest) { // ReSharper disable PossibleNullReferenceException var requestId = logSmsRequest.Attributes["RequestID"].Value; // ReSharper restore PossibleNullReferenceException var headParam = logSmsRequest.Attributes["HeadParam"].Value; var dataParam = logSmsRequest.Attributes["DataParam"].Value; var logDate = DateTime.Parse(logSmsRequest.Attributes["LogDate"].Value, CultureInfo.InvariantCulture); return new ObjectEntityClass.LogSmsRequest { RequestId = requestId, HeadParam = headParam, DataParam = dataParam, LogDate = logDate }; } private IEnumerable<ObjectEntityClass.LogSmsRequest> GetListSmsData(string xmlData) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xmlData); var list = new List<ObjectEntityClass.LogSmsRequest>(); ObjectEntityClass.LogSmsRequest obj; foreach (XmlNode Node in xmlDocument.DocumentElement.ChildNodes) { obj = GetLogSmsRequest(Node); list.Add(obj); } return list; } private void SerializeData(IEnumerable<ObjectEntityClass.LogSmsRequest> LogSmsRequests) { var str = new StringBuilder("<data>"); try { foreach (var items in LogSmsRequests) { str.Append("<sms "); str.Append("RequestId=\"" + items.RequestId.ToString(CultureInfo.InvariantCulture) + "\" "); str.Append("HeadParam=\"" + items.HeadParam.ToString(CultureInfo.InvariantCulture) + "\" "); str.Append("DataParam=\"" + items.DataParam.ToString(CultureInfo.InvariantCulture) + "\" "); str.Append("LogDate=\"" + items.LogDate.ToString("MM/dd/yyyy HH:mm:ss") + "\" "); str.Append(" />"); } } catch (Exception ex) { throw new Exception(ex.Message); } str.Append("</data>"); SessionLogSmsRequest = str.ToString(); } }}i've debug the code with firebug and fiddler and its there the json result, but radgrid keep show "no records to display"
please help me, thanks
regards
dimas