<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2927525719817056256</id><updated>2011-09-13T19:02:03.129+10:00</updated><category term='jqGrid'/><category term='ASP .NET'/><title type='text'>Technical Learnings</title><subtitle type='html'>This blog is about my learning experience on ASP .NET, Javascript and anything else. Many pains and joys encountered in this journey!  Sharing this for less pain and more joy for others!!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://praveen1305.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://praveen1305.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Praveen</name><uri>http://www.blogger.com/profile/00198627052460321372</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2927525719817056256.post-3670314616460112292</id><published>2009-05-05T10:26:00.009+10:00</published><updated>2009-05-05T20:39:38.174+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jqGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP .NET'/><title type='text'>jqGrid with ASP .NET Web Forms</title><content type='html'>&lt;div&gt;A quick write-up on my findings to use the amazing jqGrid v3.4.3 with ASP .NET 2.0 Web Forms. Surprisingly, there is no clear demo./website which enumerates on this usage. After some effort, got it finally working. Please note this is w.r.to ASP .NET 2.0 and I am just a day/two old with jqGrid!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;(1) Suggested to not use PageMethods - can look at the "different" pains by different people at this link - &lt;a href="http://www.west-wind.com/weblog/posts/152493.aspx"&gt;http://www.west-wind.com/weblog/posts/152493.aspx.&lt;/a&gt;&lt;br /&gt;If needed I can add mine into the list!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(2) The relevant partial code in the *.aspx file(without sending any parameters) is:&lt;br /&gt;&lt;br /&gt;.......&lt;br /&gt;.......&lt;br /&gt;    jQuery(document).ready(function() {&lt;br /&gt;        $('#list').jqGrid({&lt;br /&gt;            datatype: function() {&lt;br /&gt;                $.ajax({&lt;br /&gt;                url: "jqGrid.asmx/jQGridDataASMX",&lt;br /&gt;                    data: "{}",&lt;br /&gt;                    dataType: "json",&lt;br /&gt;                    type: "POST",&lt;br /&gt;                    contentType: "application/json; charset=utf-8",&lt;br /&gt;                    complete: function(jsondata, stat) {&lt;br /&gt;                        window.alert("Status received is " + stat);&lt;br /&gt;                        window.alert("Response text is: " + jsondata.responseText);&lt;br /&gt;                        if (stat == "success") {&lt;br /&gt;                            var thegrid = jQuery("#list")[0];&lt;br /&gt;                            thegrid.addJSONData(eval("(" + jsondata.responseText + ")"));&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                });&lt;br /&gt;            },&lt;br /&gt;            colNames: ['Col1', 'Col2', 'Col3'],&lt;br /&gt;            colModel: [&lt;br /&gt;          { name: 'Col1', index: 'Col1', width: 40, align: 'left' },&lt;br /&gt;          { name: 'Col2', index: 'Col2', width: 40, align: 'left' },&lt;br /&gt;          { name: 'Col3', index: 'col3', width: 200, align: 'left'}],&lt;br /&gt;            pager: jQuery('#pager'),&lt;br /&gt;            rowNum: 10,&lt;br /&gt;            rowList: [10, 20, 30],&lt;br /&gt;            viewrecords: true,&lt;br /&gt;            imgpath: 'jqGrid-3.4.3/themes/basic/images',&lt;br /&gt;            caption: 'jqGrid NewComer - First Grid'&lt;br /&gt;        });&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;........&lt;br /&gt;........&lt;br /&gt;&lt;br /&gt;    &lt;table id="list" class="scroll" cellpadding="0" cellspacing="0"&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;div id="pager" class="scroll" style="text-align: center;"&gt;&lt;br /&gt;    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;When sending parameters to the web service method use the JSON object which is defined in "json2.js"(You can download from - http://www.JSON.org/json2.js).&lt;br /&gt;Eg.    var jsonStr = JSON.stringify(data);&lt;br /&gt;and then place the jsonStr variable within the "data" parameter of the $.ajax request like:&lt;br /&gt;                url: "jqGrid.asmx/jQGridDataASMX",&lt;br /&gt;                data: jsonStr,&lt;br /&gt;                dataType: "json",&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt; /&gt;    jQuery(document).ready(function() {&lt;br /&gt;        $('#list').jqGrid({&lt;br /&gt;            datatype: function() {&lt;br /&gt;                $.ajax({&lt;br /&gt;                url: "jqGrid.asmx/jQGridDataASMX",&lt;br /&gt;                    data: "{}",&lt;br /&gt;                    dataType: "json",&lt;br /&gt;                    type: "POST",&lt;br /&gt;                    contentType: "application/json; charset=utf-8",&lt;br /&gt;                    complete: function(jsondata, stat) {&lt;br /&gt;                        window.alert("Response text is: " + jsondata.responseText);&lt;br /&gt;                        if (stat == "success") {&lt;br /&gt;                            var thegrid = jQuery("#list")[0];&lt;br /&gt;                            thegrid.addJSONData(eval("(" + jsondata.responseText + ")"));&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                });&lt;br /&gt;            },&lt;br /&gt;            colNames: ['Col1', 'Col2', 'Col3'],&lt;br /&gt;            colModel: [&lt;br /&gt;          { name: 'Col1', index: 'Col1', width: 40, align: 'left' },&lt;br /&gt;          { name: 'Col2', index: 'Col2', width: 40, align: 'left' },&lt;br /&gt;          { name: 'Col3', index: 'col3', width: 200, align: 'left'}],&lt;br /&gt;            pager: jQuery('#pager'),&lt;br /&gt;            rowNum: 10,&lt;br /&gt;            rowList: [10, 20, 30],&lt;br /&gt;            sortname: 'Id',&lt;br /&gt;            sortorder: "desc",&lt;br /&gt;            viewrecords: true,&lt;br /&gt;            imgpath: 'jqGrid-3.4.3/themes/basic/images',&lt;br /&gt;            caption: 'jqGrid NewComer - First Grid'&lt;br /&gt;        });&lt;br /&gt;    });&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;(3) The complete jqGrid.asmx file is:&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Services;&lt;br /&gt;using System.Web.Script.Services;&lt;br /&gt;using System.Web.Script.Serialization;&lt;br /&gt;&lt;br /&gt;public class RowElement&lt;br /&gt;{&lt;br /&gt;  public string id;&lt;br /&gt;  public string[] cell;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class MainGrid&lt;br /&gt;{&lt;br /&gt;  public string total;&lt;br /&gt;  public string page;&lt;br /&gt;  public string records;&lt;br /&gt;  public RowElement[] rows;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Summary description for jqGrid&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;[WebService(Namespace = "http://tempuri.org/")]&lt;br /&gt;[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]&lt;br /&gt;[ScriptService]&lt;br /&gt;public class jqGrid : System.Web.Services.WebService {&lt;br /&gt;&lt;br /&gt;  [WebMethod]&lt;br /&gt;  public MainGrid jQGridDataASMX()&lt;br /&gt;  {&lt;br /&gt;      /* {&lt;br /&gt;      total: 'xxx',&lt;br /&gt;      page: 'yyy',&lt;br /&gt;      records: 'zzz',&lt;br /&gt;      rows : [&lt;br /&gt;        {id:'1', cell:['cell11', 'cell12', 'cell13']},&lt;br /&gt;        {id:'2', cell:['cell21', 'cell22', 'cell23']}&lt;br /&gt;      ]&lt;br /&gt;       } */&lt;br /&gt;&lt;br /&gt;      MainGrid mg = new MainGrid();&lt;br /&gt;      mg.total = "1";&lt;br /&gt;      mg.page = "1";&lt;br /&gt;      mg.records = "1";&lt;br /&gt;&lt;br /&gt;      mg.rows = new RowElement[1];&lt;br /&gt;      mg.rows[0] = new RowElement();&lt;br /&gt;      mg.rows[0].id = "1";&lt;br /&gt;      mg.rows[0].cell = new string[3];&lt;br /&gt;      mg.rows[0].cell[0] = "cell1";&lt;br /&gt;      mg.rows[0].cell[1] = "cell2";&lt;br /&gt;      mg.rows[0].cell[2] = "cell3";&lt;br /&gt;&lt;br /&gt;      return mg;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(5) The resultant output is:&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/prbabu/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/prbabu/LOCALS%7E1/Temp/moz-screenshot-2.jpg" alt="" /&gt;&lt;div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Vtkj-AzSAP0/Sf-Nb0uCMoI/AAAAAAAACHc/kznU2r16Cek/s1600-h/jqGrid_ASP_NET_2.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 246px;" src="http://3.bp.blogspot.com/_Vtkj-AzSAP0/Sf-Nb0uCMoI/AAAAAAAACHc/kznU2r16Cek/s320/jqGrid_ASP_NET_2.PNG" alt="" id="BLOGGER_PHOTO_ID_5332135992977666690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt; &lt;br&gt; Hope this helps for someone to get a heads-up with jqGrid and ASP .NET 2.0!&lt;br /&gt;&lt;br&gt; &lt;br&gt; Also check-out a very good site on the jQGrid with ASP .NET using HTTP handlers - http://geeks.netindonesia.net/blogs/cipto/archive/2009/04/03/jqgrid.aspx&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2927525719817056256-3670314616460112292?l=praveen1305.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praveen1305.blogspot.com/feeds/3670314616460112292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2927525719817056256&amp;postID=3670314616460112292' title='38 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/3670314616460112292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/3670314616460112292'/><link rel='alternate' type='text/html' href='http://praveen1305.blogspot.com/2009/05/jqgrid-with-asp-net-web-forms.html' title='jqGrid with ASP .NET Web Forms'/><author><name>Praveen</name><uri>http://www.blogger.com/profile/00198627052460321372</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Vtkj-AzSAP0/Sf-Nb0uCMoI/AAAAAAAACHc/kznU2r16Cek/s72-c/jqGrid_ASP_NET_2.PNG' height='72' width='72'/><thr:total>38</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2927525719817056256.post-3649042901368067333</id><published>2007-08-02T13:03:00.000+10:00</published><updated>2007-08-02T13:06:42.857+10:00</updated><title type='text'>Javascript window.location not working in Internet Explorer</title><content type='html'>If anyone encounters issue of not window.location, window.location.href, document.location and every possible combination not working, try this out instead:&lt;br /&gt;&lt;br /&gt;  redirect = "http://www.google.com";&lt;br /&gt;  setTimeout("window.location.href = redirect",0);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Don't know why it works, but it works!!!   Found this issue in both IE6 and IE7.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2927525719817056256-3649042901368067333?l=praveen1305.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praveen1305.blogspot.com/feeds/3649042901368067333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2927525719817056256&amp;postID=3649042901368067333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/3649042901368067333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/3649042901368067333'/><link rel='alternate' type='text/html' href='http://praveen1305.blogspot.com/2007/08/javascript-windowlocation-not-working.html' title='Javascript window.location not working in Internet Explorer'/><author><name>Praveen</name><uri>http://www.blogger.com/profile/00198627052460321372</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2927525719817056256.post-7590060076564429207</id><published>2007-05-21T15:56:00.000+10:00</published><updated>2007-05-21T16:07:25.584+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP .NET'/><title type='text'>ASP .NET Tips/Issues</title><content type='html'>&lt;ul&gt;&lt;li&gt;Even if the the EnableViewState is disabled, still the values are maintained across post-back. Why? Because of something called ControlState, wherein certain details of all controls are maintained always. &lt;/li&gt;&lt;li&gt;If re-directing to a URL within the local web-site use Server.Transfer rather than Response.Redirect, for quicker response and conserve server resources. The latter is used for re-directing to external site.&lt;/li&gt;&lt;li&gt;Read the below URL if you get errors such as: "Sys.WebForms.PageRequestManagerParserErrorException"&lt;a href="http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx#2202116"&gt;http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx#2202116&lt;/a&gt; Ignore the part of not using Server.Transfer. It seems the author is not aware of it, I believe!&lt;/li&gt;&lt;li&gt;Beware using Validation controls within AJAX Controls, eg. UpdatePanel. It is not yet implemented. There is a work around though. Need to wait for an Windows Live Update for it. Check out the link:&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/01/25/links-to-asp-net-ajax-1-0-resources-and-answers-to-some-common-questions.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/01/25/links-to-asp-net-ajax-1-0-resources-and-answers-to-some-common-questions.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;When trying to use "~" within script tags in Master Pages, you need to use "DataBinding" on the code-behind page, otherwise look-out for errors. Eg. Map_Admin.master(look both aspx and cs files).&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2927525719817056256-7590060076564429207?l=praveen1305.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://praveen1305.blogspot.com/feeds/7590060076564429207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2927525719817056256&amp;postID=7590060076564429207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/7590060076564429207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2927525719817056256/posts/default/7590060076564429207'/><link rel='alternate' type='text/html' href='http://praveen1305.blogspot.com/2007/05/asp-net-quirks.html' title='ASP .NET Tips/Issues'/><author><name>Praveen</name><uri>http://www.blogger.com/profile/00198627052460321372</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
