<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Microsoft Technology, .Net, BizTalk, Sharepoint &#38; etc. &#187; AJAX</title>
	<atom:link href="http://littletalk.wordpress.com/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://littletalk.wordpress.com</link>
	<description>Liedong(Ken) Zheng, Senior SharePoint Developer at SIMPLOT</description>
	<lastBuildDate>Tue, 22 Dec 2009 23:44:56 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='littletalk.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/273a2ea2429a815e9b5d08a05fc38987?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Microsoft Technology, .Net, BizTalk, Sharepoint &#38; etc. &#187; AJAX</title>
		<link>http://littletalk.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://littletalk.wordpress.com/osd.xml" title="Microsoft Technology, .Net, BizTalk, Sharepoint &amp; etc." />
		<item>
		<title>Web.Config for Using Ajax Tool Kit</title>
		<link>http://littletalk.wordpress.com/2008/12/07/webconfig-for-using-ajax-tool-kit/</link>
		<comments>http://littletalk.wordpress.com/2008/12/07/webconfig-for-using-ajax-tool-kit/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 22:02:58 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=448</guid>
		<description><![CDATA[If you use VS 2008 to create a Ajax web site, that&#8217;s fine. As VS 2008 will create web.config for you. But if you still use VS 2005, you will have to edit the web.config by youself.
So I post a web.config for reference.

&#60;?xml version=&#34;1.0&#34;?&#62;
&#60;configuration&#62;
	&#60;configSections&#62;
		&#60;sectionGroup name=&#34;system.web.extensions&#34; type=&#34;System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#34;&#62;
			&#60;sectionGroup name=&#34;scripting&#34; type=&#34;System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=448&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you use VS 2008 to create a Ajax web site, that&#8217;s fine. As VS 2008 will create web.config for you. But if you still use VS 2005, you will have to edit the web.config by youself.</p>
<p>So I post a web.config for reference.</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configuration&gt;
	&lt;configSections&gt;
		&lt;sectionGroup name=&quot;system.web.extensions&quot; type=&quot;System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;&gt;
			&lt;sectionGroup name=&quot;scripting&quot; type=&quot;System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;&gt;
				&lt;section name=&quot;scriptResourceHandler&quot; type=&quot;System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; requirePermission=&quot;false&quot; allowDefinition=&quot;MachineToApplication&quot;/&gt;
				&lt;sectionGroup name=&quot;webServices&quot; type=&quot;System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;&gt;
					&lt;section name=&quot;jsonSerialization&quot; type=&quot;System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; requirePermission=&quot;false&quot; allowDefinition=&quot;Everywhere&quot;/&gt;
					&lt;section name=&quot;profileService&quot; type=&quot;System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; requirePermission=&quot;false&quot; allowDefinition=&quot;MachineToApplication&quot;/&gt;
					&lt;section name=&quot;authenticationService&quot; type=&quot;System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; requirePermission=&quot;false&quot; allowDefinition=&quot;MachineToApplication&quot;/&gt;
				&lt;/sectionGroup&gt;
			&lt;/sectionGroup&gt;
		&lt;/sectionGroup&gt;
	&lt;/configSections&gt;
	&lt;system.web&gt;
		&lt;pages&gt;
			&lt;controls&gt;
				&lt;add tagPrefix=&quot;asp&quot; namespace=&quot;System.Web.UI&quot; assembly=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
			&lt;/controls&gt;
		&lt;/pages&gt;
		&lt;!--
          Set compilation debug=&quot;true&quot; to insert debugging
          symbols into the compiled page. Because this
          affects performance, set this value to true only
          during development.
    --&gt;
		&lt;compilation debug=&quot;true&quot;&gt;
			&lt;assemblies&gt;
				&lt;add assembly=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
				&lt;add assembly=&quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C&quot;/&gt;
				&lt;add assembly=&quot;System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A&quot;/&gt;
				&lt;add assembly=&quot;System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&quot;/&gt;&lt;/assemblies&gt;
		&lt;/compilation&gt;
		&lt;httpHandlers&gt;
			&lt;remove verb=&quot;*&quot; path=&quot;*.asmx&quot;/&gt;
			&lt;add verb=&quot;*&quot; path=&quot;*.asmx&quot; validate=&quot;false&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
			&lt;add verb=&quot;*&quot; path=&quot;*_AppService.axd&quot; validate=&quot;false&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
			&lt;add verb=&quot;GET,HEAD&quot; path=&quot;ScriptResource.axd&quot; type=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; validate=&quot;false&quot;/&gt;
		&lt;/httpHandlers&gt;
		&lt;httpModules&gt;
			&lt;add name=&quot;ScriptModule&quot; type=&quot;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
		&lt;/httpModules&gt;
	&lt;/system.web&gt;
	&lt;runtime&gt;
		&lt;assemblyBinding xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot;&gt;
			&lt;dependentAssembly&gt;
				&lt;assemblyIdentity name=&quot;System.Web.Extensions&quot; publicKeyToken=&quot;31BF3856AD364E35&quot; culture=&quot;neutral&quot;/&gt;
				&lt;bindingRedirect oldVersion=&quot;1.0.61025.0&quot; newVersion=&quot;3.5.0.0&quot;/&gt;
			&lt;/dependentAssembly&gt;
			&lt;dependentAssembly&gt;
				&lt;assemblyIdentity name=&quot;System.Web.Extensions&quot; publicKeyToken=&quot;31BF3856AD364E35&quot; culture=&quot;neutral&quot;/&gt;
				&lt;bindingRedirect oldVersion=&quot;2.0.0.0&quot; newVersion=&quot;3.5.0.0&quot;/&gt;
			&lt;/dependentAssembly&gt;
		&lt;/assemblyBinding&gt;
	&lt;/runtime&gt;
	&lt;system.web.extensions&gt;
		&lt;scripting&gt;
			&lt;webServices&gt;
				&lt;!-- Uncomment this line to customize maxJsonLength and add a custom converter --&gt;
				&lt;!--
      &lt;jsonSerialization maxJsonLength=&quot;500&quot;&gt;
        &lt;converters&gt;
          &lt;add name=&quot;ConvertMe&quot; type=&quot;Acme.SubAcme.ConvertMeTypeConverter&quot;/&gt;
        &lt;/converters&gt;
      &lt;/jsonSerialization&gt;
      --&gt;
				&lt;!-- Uncomment this line to enable the authentication service. Include requireSSL=&quot;true&quot; if appropriate. --&gt;
				&lt;!--
        &lt;authenticationService enabled=&quot;true&quot; requireSSL = &quot;true|false&quot;/&gt;
      --&gt;
				&lt;!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
           and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
           writeAccessProperties attributes. --&gt;
				&lt;!--
      &lt;profileService enabled=&quot;true&quot;
                      readAccessProperties=&quot;propertyname1,propertyname2&quot;
                      writeAccessProperties=&quot;propertyname1,propertyname2&quot; /&gt;
      --&gt;
			&lt;/webServices&gt;
			&lt;!--
      &lt;scriptResourceHandler enableCompression=&quot;true&quot; enableCaching=&quot;true&quot; /&gt;
      --&gt;
		&lt;/scripting&gt;
	&lt;/system.web.extensions&gt;
	&lt;system.webServer&gt;
		&lt;validation validateIntegratedModeConfiguration=&quot;false&quot;/&gt;
		&lt;modules&gt;
			&lt;add name=&quot;ScriptModule&quot; preCondition=&quot;integratedMode&quot; type=&quot;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
		&lt;/modules&gt;
		&lt;handlers&gt;
			&lt;remove name=&quot;WebServiceHandlerFactory-Integrated&quot;/&gt;
			&lt;add name=&quot;ScriptHandlerFactory&quot; verb=&quot;*&quot; path=&quot;*.asmx&quot; preCondition=&quot;integratedMode&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
			&lt;add name=&quot;ScriptHandlerFactoryAppServices&quot; verb=&quot;*&quot; path=&quot;*_AppService.axd&quot; preCondition=&quot;integratedMode&quot; type=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
			&lt;add name=&quot;ScriptResource&quot; preCondition=&quot;integratedMode&quot; verb=&quot;GET,HEAD&quot; path=&quot;ScriptResource.axd&quot; type=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;/&gt;
		&lt;/handlers&gt;
	&lt;/system.webServer&gt;
&lt;/configuration&gt;
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/448/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/448/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/448/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/448/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/448/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/448/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/448/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/448/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/448/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/448/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=448&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/12/07/webconfig-for-using-ajax-tool-kit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>PageRequestManagerParserErrorException &#8220;error parsing near &#8216;&#8221;</title>
		<link>http://littletalk.wordpress.com/2008/11/25/pagerequestmanagerparsererrorexception-error-parsing-near/</link>
		<comments>http://littletalk.wordpress.com/2008/11/25/pagerequestmanagerparsererrorexception-error-parsing-near/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 22:33:38 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Sharepoint]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=432</guid>
		<description><![CDATA[I had this problem when I use Ajax updatePanel.
Most often this error appears when we use Response.Write to modify rendered output, I am not aware of this error with load balancing, but just check, may it will be the reson:
1) check if you have the code that calls Respose.Write in code behind(just search for it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=432&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I had this problem when I use Ajax updatePanel.<br />
Most often this error appears when we use Response.Write to modify rendered output, I am not aware of this error with load balancing, but just check, may it will be the reson:</p>
<p>1) check if you have the code that calls Respose.Write in code behind(just search for it in solution)</p>
<p>2) check if you have  tag in markup</p>
<p>3) if you found one of above, replace them with literals and assign text to that literals in OnPrerender event of the page, it should solve the issue.</p>
<p>If you dont have Response.Write calls in the code, try to look at this article to find more:</p>
<p><a href="http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx">http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/432/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=432&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/11/25/pagerequestmanagerparsererrorexception-error-parsing-near/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>Create a Ajax WebPart for SharePoint</title>
		<link>http://littletalk.wordpress.com/2008/09/30/create-a-ajax-webpart-for-sharepoint/</link>
		<comments>http://littletalk.wordpress.com/2008/09/30/create-a-ajax-webpart-for-sharepoint/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 01:45:10 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=316</guid>
		<description><![CDATA[Today, I followed Abdulla&#8217;s example to create a Ajax Webpart. It works very well. One thing really struggle me is I add Web Extenstion 3.5 instead of 1.06. 
First of all you need to add
·         System.Web
·         System.Web.Extensions (v1.06)
·  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=316&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today, I followed Abdulla&#8217;s example to create a Ajax Webpart. It works very well. One thing really struggle me is I add Web Extenstion 3.5 instead of 1.06. </p>
<p>First of all you need to add<br />
·         System.Web<br />
·         System.Web.Extensions (v1.06)<br />
·         System.Web.Extensions.Design (v1.06)<br />
.         Syste.Data</p>
<p>Modify the SharePoint Web.Config file. <a href="http://msdn.microsoft.com/en-us/library/bb861898.aspx">http://msdn.microsoft.com/en-us/library/bb861898.aspx</a><br />
The below is the c# code </p>
<pre class="brush: csharp;">
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using System.Data;
using System.Data.SqlClient;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.ComponentModel;

namespace SharePointAjaxWebPart
{
    [Guid(&quot;579e8377-d57c-4b5e-98c1-1001c20301cc&quot;)]
    public class MyAjaxWebPart : System.Web.UI.WebControls.WebParts.WebPart
    {

    private GridView _grdSearch;
    private TextBox _txtSearch;
    private Button _btnSearch;
    private Label _lblMsg;
    private UpdatePanel _updatePanel;
    private UpdateProgress _updateProgress;
    private static readonly object EventSubmitKey = new object();

    public MyAjaxWebPart()
    {
        this.ExportMode = WebPartExportMode.All;
    }

    [WebBrowsable(true), Personalizable(PersonalizationScope.Shared), Category(&quot;AbdHaq Property&quot;)]
    public string LoadingImageURL {
        get {
            object _obj = ViewState[&quot;LoadingImageURL&quot;];
            if (_obj == null) {
                return string.Empty;
            }
            else {
                return (string)ViewState[&quot;LoadingImageURL&quot;];
            }

        }
        set { ViewState[&quot;LoadingImageURL&quot;] = value; }
    }
    public event EventHandler Submit {
        add { Events.AddHandler(EventSubmitKey, value); }
        remove { Events.RemoveHandler(EventSubmitKey, value); }
    }

    private void _btnSearch_Click(object source, EventArgs e)
    {

        _grdSearch.Visible = false;

        System.Threading.Thread.Sleep(1500);

        ////Create DataTable Structure
        DataTable Dtable = new DataTable(&quot;tmpTable&quot;);
        ////User_ID Col
        Dtable.Columns.Add(&quot;User_ID&quot;, typeof(int));
        Dtable.Columns[&quot;User_ID&quot;].AutoIncrement = true;
        Dtable.Columns[&quot;User_ID&quot;].AutoIncrementSeed = 1;
        ////User_Name Col
        Dtable.Columns.Add(&quot;User_Name&quot;, typeof(string));
        ////User_Department Col
        Dtable.Columns.Add(&quot;User_Department&quot;, typeof(string));

        DataRow dr = default(DataRow);

        dr = Dtable.NewRow();
        dr[&quot;User_Name&quot;] = &quot;Abdulla Abdelhaq&quot;;
        dr[&quot;User_Department&quot;] = &quot;Technical&quot;;
        Dtable.Rows.Add(dr);

        dr = Dtable.NewRow();
        dr[&quot;User_Name&quot;] = &quot;Noura Ahmad&quot;;
        dr[&quot;User_Department&quot;] = &quot;Technical&quot;;
        Dtable.Rows.Add(dr);

        dr = Dtable.NewRow();
        dr[&quot;User_Name&quot;] = &quot;Oday Mohammad&quot;;
        dr[&quot;User_Department&quot;] = &quot;Production&quot;;
        Dtable.Rows.Add(dr);

        string _searchFor = &quot;%&quot;;

        if (_txtSearch.Text != string.Empty) {
            _searchFor = _txtSearch.Text;
        }

        DataView dtView = new DataView(Dtable);
        dtView.RowFilter = &quot;User_Name LIKE '%'+'&quot; + _searchFor + &quot;'+'%'&quot;;

        if (dtView.Count &gt; 0) {
            _grdSearch.Visible = true;
            _grdSearch.AutoGenerateColumns = true;
            _grdSearch.DataSource = dtView;
            _grdSearch.DataBind();
            _lblMsg.Text = string.Empty;
        }
        else {
            _lblMsg.Text = &quot;&lt;font color='red'&gt;Sorry, No Data Found!.&lt;/font&gt;&quot;;
            _grdSearch.Visible = false;
        }

    }

    protected override void CreateChildControls()
    {
        Controls.Clear();

        _updatePanel = new UpdatePanel();
        {
            _updatePanel.ID = &quot;UpdatePanel1&quot;;
            _updatePanel.ChildrenAsTriggers = true;
            _updatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
        }

        _updateProgress = new UpdateProgress();
        _updateProgress.ID = &quot;UpdateProgress1&quot;;

        string _templateHTML = null;
        if (LoadingImageURL == string.Empty) {
            _templateHTML = &quot;&lt;span&gt;Loading ...&lt;/span&gt;&quot;;
        }
        else {
            _templateHTML = &quot;&lt;div&gt;&lt;img alt='Loading...' src='&quot; + LoadingImageURL.Trim() + &quot;'/&gt;&lt;/div&gt;&quot;;
        }

        _updateProgress.ProgressTemplate = new ProgressTemplate(_templateHTML);

        _updateProgress.AssociatedUpdatePanelID = _updatePanel.ClientID;

        this.Controls.Add(_updatePanel);

        _grdSearch = new GridView();
        _grdSearch.ID = &quot;GrdSearch&quot;;

        _txtSearch = new TextBox();
        _txtSearch.ID = &quot;txtSearch&quot;;

        _btnSearch = new Button();
        _btnSearch.Text = &quot;Search&quot;;
        _btnSearch.ID = &quot;BtnSearch&quot;;

        _lblMsg = new Label();
        _lblMsg.ID = &quot;lblMsgError&quot;;

        _btnSearch.Click += _btnSearch_Click;

        _updatePanel.ContentTemplateContainer.Controls.Add(_txtSearch);
        _updatePanel.ContentTemplateContainer.Controls.Add(_btnSearch);
        _updatePanel.ContentTemplateContainer.Controls.Add(_grdSearch);
        _updatePanel.ContentTemplateContainer.Controls.Add(_lblMsg);
        _updatePanel.ContentTemplateContainer.Controls.Add(_updateProgress);

    }

    protected override void OnInit(EventArgs e)
    {

        base.OnInit(e);

        //get the existing ScriptManager if it exists on the page
        ScriptManager _AjaxManager = ScriptManager.GetCurrent(this.Page);
        if (_AjaxManager == null) {

            //create new ScriptManager and EnablePartialRendering
            _AjaxManager = new ScriptManager();
            _AjaxManager.EnablePartialRendering = true;

            //Fix problem with postbacks and form actions (DevDiv 55525)
            Page.ClientScript.RegisterStartupScript(this.GetType(), this.ID, &quot;_spOriginalFormAction = document.forms[0].action;&quot;, true);

            //tag:&quot;form&quot; att:&quot;onsubmit&quot; val:&quot;return _spFormOnSubmitWrapper()&quot;
            //blocks async postbacks after the first one
            //not calling &quot;_spFormOnSubmitWrapper()&quot; breaks all postbacks
            //returning true all the time, somewhat defeats the purpose of the
            //_spFormOnSubmitWrapper() which is to block repetitive postbacks,
            //but it allows MS AJAX Extensions to work properly

            if ((this.Page.Form != null)) {
                string formOnSubmitAtt = this.Page.Form.Attributes[&quot;onsubmit&quot;];
                if (!string.IsNullOrEmpty(formOnSubmitAtt) &amp; formOnSubmitAtt == &quot;return _spFormOnSubmitWrapper();&quot;) {
                    this.Page.Form.Attributes[&quot;onsubmit&quot;] = &quot;_spFormOnSubmitWrapper();&quot;;
                }
                //add the ScriptManager as the first control in the Page.Form
                this.Page.Form.Controls.AddAt(0, _AjaxManager);

            }
        }

    }

    protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
    {
        _updatePanel.RenderControl(writer);
    }
}
//Class for Building progress tempales
public class ProgressTemplate : ITemplate
{
    private string template;

    public ProgressTemplate(string temp)
    {
        template = temp;
    }

    public void InstantiateIn(Control container)
    {
        LiteralControl ltr = new LiteralControl(this.template);
        container.Controls.Add(ltr);
    }

}

}
</pre>
<p>The full tutorial is <a href="http://aspalliance.com/1719_Integrating_ASPNET_Ajax_WebPart_with_SharePoint_30.all">here</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=316&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/09/30/create-a-ajax-webpart-for-sharepoint/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>Calling UserControl&#8217;s Event in ASP .NET Page By AJAX</title>
		<link>http://littletalk.wordpress.com/2008/09/19/calling-usercontrols-event-in-asp-net-page/</link>
		<comments>http://littletalk.wordpress.com/2008/09/19/calling-usercontrols-event-in-asp-net-page/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 01:33:23 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=277</guid>
		<description><![CDATA[If you have a usercontrol which has a button click event and you want to raise a postback like the button is clicked.
User Control code to declare a global variable in javdsciprt for Postback

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)

    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=277&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you have a usercontrol which has a button click event and you want to raise a postback like the button is clicked.</p>
<p>User Control code to declare a global variable in javdsciprt for Postback</p>
<pre class="brush: vb;">
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)

        Dim sm As ScriptManager = ScriptManager.GetCurrent(Me.Page)
        ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), &quot;ClientID&quot;, String.Format(&quot;var logoutClientId = '{0}$LogoutLink';&quot;, Me.ClientID.Replace(&quot;_&quot;, &quot;$&quot;)), True)

    End Sub

    Public Sub LogoutLink_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LogoutLink.Click
        Page.LogoutCurrentUser(&quot;Sucessfully logged out.&quot;)
    End Sub
</pre>
<p>The below javascipt is to logout when a full postback raised.</p>
<pre class="brush: jscript;">
window.onunload = function(){ unloadPageAndError();}

var loader = function(sender, args) {
    if(!args.get_isPartialLoad()){
        PageMethods.CheckLogin(function(result){
            if(result)
            {
                unloadPageAndError();
            }
        },
        function(error)
        {
            unloadPageAndError();
        }
        );
    }
}

var unloadPageAndError = function()
{
    &lt;strong&gt;__doPostBack(logoutClientId,'')&lt;/strong&gt;
}

Sys.Application.add_load(loader);
</pre>
<p>Below is a Web Method in your web page, you need to enable your scriptmanger.enablepagemethod = true</p>
<pre class="brush: vb;">
    &lt;System.Web.Services.WebMethod()&gt; _
    Public Shared Function CheckLogin() As Boolean
        Return UserContext() Is Nothing
    End Function
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=277&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/09/19/calling-usercontrols-event-in-asp-net-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>EnablePageMethods</title>
		<link>http://littletalk.wordpress.com/2008/09/19/enablepagemethods/</link>
		<comments>http://littletalk.wordpress.com/2008/09/19/enablepagemethods/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 00:44:02 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=273</guid>
		<description><![CDATA[You cannot call server-side code ‘directly’ from client-side code. That is because by design, the server side code executes at server side and client side code at the client. However there are some workarounds. To call serverside code from javascript, you will need to use AJAX, and the easiest way out, is to use the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=273&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>You cannot call server-side code ‘directly’ from client-side code. That is because by design, the server side code executes at server side and client side code at the client. However there are some workarounds. To call serverside code from javascript, you will need to use AJAX, and the easiest way out, is to use the ASP.NET AJAX Extensions.<br />
One option while using Microsoft ASP.NET AJAX is to call ASP.NET Web services (.asmx files) from the browser by using client script. The script can call a webservice containing server-based methods (Web methods) and invoke these methods without a postback and without refreshing the whole page. However this approach could be overkill sometimes, to perform the simplest of tasks. Moreover the logic needs to be kept in a separate .asmx file. We need something that is more ‘integrated’ with our solution.<br />
The option we are going to use in this article involves PageMethods. A PageMethod is basically a public static method that is exposed in the code-behind of an aspx page and is callable from the client script. PageMethods are annotated with the [WebMethod] attribute. The page methods are rendered as inline JavaScript. </p>
<p>Troubleshooting: ‘PageMethods Is &#8216;Undefined&#8217;’ error</p>
<p>1.    Try setting EnablePageMethods=&#8221;true&#8221; in the script manager tag</p>
<p>2.    Don&#8217;t add the javascript references or code in the  section. Add it to the  tag.</p>
<p>3.    Page methods needs to be static in code behind.</p>
<p>Code</p>
<pre class="brush: xml;">
&lt;%@ Page Language=&quot;VB&quot; AutoEventWireup=&quot;true&quot; CodeFile=&quot;Default.aspx.vb&quot; Inherits=&quot;_Default&quot; %&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;PageMethod&lt;/title&gt;
    &lt;script type=&quot;text/jscript&quot;&gt;
    function GetUser(){
        var oUser={
            ID : &quot;007&quot;,
            Name : &quot;jeff&quot;
        };
        return oUser;
    }

    function CallServer(){
        var oUser = GetUser();
        PageMethods.GetServerUser(oUser, CallServerResult);
    }

    function CallServerResult(result){
        alert('Server:\n'+'ID:'+result.ID+'\nName:'+result.Name);
    }
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;
        &lt;div&gt;
            &lt;asp:ScriptManager ID=&quot;ScriptManager1&quot; runat=&quot;server&quot; EnablePageMethods=&quot;True&quot;&gt;
            &lt;/asp:ScriptManager&gt;
            &lt;input type=&quot;button&quot; value=&quot;執行 PageMethod&quot; onclick=&quot;CallServer()&quot; /&gt;

            &lt;/div&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<pre class="brush: vb;">
    &lt;System.Web.Services.WebMethod()&gt; _
    Public Shared Function GetServerUser(ByVal Value As TUserData) As TUserData
        Value.ID = &quot;012&quot;
        Value.Name = &quot;tony&quot;
        Return Value
    End Function

&lt;Serializable()&gt; _
Public Class TUserData
    Dim FID As String = String.Empty
    Dim FName As String = String.Empty

    Public Property ID() As String
        Get
            Return FID
        End Get
        Set(ByVal value As String)
            FID = value
        End Set
    End Property

    Public Property Name() As String
        Get
            Return FName
        End Get
        Set(ByVal value As String)
            FName = value
        End Set
    End Property
End Class
</pre>
<p>A good article is here</p>
<p><a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=109&amp;AspxAutoDetectCookieSupport=1">http://www.dotnetcurry.com/ShowArticle.aspx?ID=109&amp;AspxAutoDetectCookieSupport=1</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/273/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=273&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/09/19/enablepagemethods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>AJAX References</title>
		<link>http://littletalk.wordpress.com/2008/09/17/ajax-references/</link>
		<comments>http://littletalk.wordpress.com/2008/09/17/ajax-references/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 11:57:08 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=271</guid>
		<description><![CDATA[//String Builder
function WriteTankToTable(tank) {
    var sbBody = new Sys.StringBuilder(&#8216;
&#8216;);
    for(x=0;x&#60;tank.length;x++) {
        sbBody.append(&#8216;
&#8216;);
        sbBody.append(&#8216;
&#8216; + x + &#8216;
&#8216;);
        sbBody.append(&#8216;
&#8216; + tank[x].get_fName() + &#8216;
&#8216;);
       [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=271&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>//String Builder<br />
function WriteTankToTable(tank) {</p>
<p>    var sbBody = new Sys.StringBuilder(&#8216;<br />
<table border="1">&#8216;);<br />
    for(x=0;x&lt;tank.length;x++) {<br />
        sbBody.append(&#8216;<br />
<tr>&#8216;);<br />
        sbBody.append(&#8216;
<td>&#8216; + x + &#8216;</td>
<p>&#8216;);<br />
        sbBody.append(&#8216;
<td>&#8216; + tank[x].get_fName() + &#8216;</td>
<p>&#8216;);<br />
        sbBody.append(&#8216;
<td>&#8216; + tank[x].get_lName() + &#8216;</td>
<p>&#8216;);<br />
        sbBody.append(&#8216;
<td>&#8216; + tank[x].get_email() + &#8216;</td>
<p>&#8216;);<br />
        sbBody.append(&#8216;</tr>
<p>&#8216;);<br />
    }<br />
    sbBody.append(&#8216;</table>
<p>&#8216;);</p>
<p>    endTime = new Date().getTime();</p>
<p>    sb = new Sys.StringBuilder(&#8216;Start : &#8216; + startTime);<br />
    sb.append(&#8216;<br />&#8216;);<br />
    sb.append(&#8216;End : &#8216; + endTime);<br />
    sb.append(&#8216;<br />&#8216;);<br />
    sb.append(&#8216;Total : &#8216; + (endTime &#8211; startTime));<br />
    sb.append(&#8216;<br />&#8216;);<br />
    sb.append(&#8216;Loaded : &#8216; + tank.length + &#8216; &#8216; + Object.getTypeName(tank[0]) );<br />
    sb.append(&#8216;<br />
<hr />&#8216;);</p>
<p>    sb.append( sbBody.toString() );</p>
<p>    WriteToResults( sb.toString() );<br />
    tank = null;<br />
}</p>
<p>function WriteToResults(value) {<br />
    var results = $get(&#8216;results&#8217;);<br />
    results.innerHTML = value;<br />
}</p>
<p>****************<br />
A Web page can contain only one ScriptManager control, either directly on the page<br />
 or indirectly inside a nested or parent component. The ScriptManagerProxy control<br />
lets you add scripts and services to content pages and to user controls if the master<br />
page or host page already contains a ScriptManager control.<br />
****************</p>
<p>****************<br />
*Load Control<br />
****************</p>
<p>//code behind<br />
        protected void Page_Load( object sender, EventArgs e )<br />
        {<br />
            TimeLabelButton timeControl =<br />
                LoadControl( &#8220;/usercontrols/TimeLabelButton.ascx&#8221; ) as TimeLabelButton;</p>
<p>            NewControlPlaceHolder.Controls.Clear();</p>
<p>            NewControlPlaceHolder.Controls.Add( timeControl);<br />
        }</p>
<p>****************<br />
*AJAX Extensions<br />
****************</p>
<ul>
<li>document.getelementById = $get : used for html elements</li>
<li>$find = used for behaviors</li>
<li>$addHandler = easy way to add function delegates to controls</li>
<li>$addHandlers = add an array of delegates</li>
<li>$removeHandler = remove a single handler from an event</li>
<li>$clearHandlers = remove all handlers from an event. (be careful)</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/littletalk.wordpress.com/271/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/littletalk.wordpress.com/271/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/271/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=271&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/09/17/ajax-references/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>Debug AJAX</title>
		<link>http://littletalk.wordpress.com/2008/09/17/debug-ajax/</link>
		<comments>http://littletalk.wordpress.com/2008/09/17/debug-ajax/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 11:05:25 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=268</guid>
		<description><![CDATA[
Web.Config &#60;compilation debug=&#8221;true&#8221;&#62;
ScriptManger ScriptMode=&#8221;debug&#8221;
ScriptManager uses debug setting first from ScriptMode=&#8221;Debug&#8221; attribute, then from Web.Config
ScriptManger output ignores the @Page Debug attribute


Confirm IE is in debug mode &#8211; Tools Options &#124; Advanced


Setup http://localhost as a trusted site (on Vista)


Debug &#124; Windows &#124; Script Explorer (Might not be on, use Tools &#124; Customize, and add
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=268&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><ul>
<li>Web.Config &lt;compilation debug=&#8221;true&#8221;&gt;</li>
<li>ScriptManger ScriptMode=&#8221;debug&#8221;</li>
<li>ScriptManager uses debug setting first from ScriptMode=&#8221;Debug&#8221; attribute, then from Web.Config</li>
<li>ScriptManger output ignores the @Page Debug attribute</li>
</ul>
<ul>
<li>Confirm IE is in debug mode &#8211; Tools Options | Advanced</li>
</ul>
<ul>
<li>Setup http://localhost as a trusted site (on Vista)</li>
</ul>
<ul>
<li>Debug | Windows | Script Explorer (Might not be on, use Tools | Customize, and add<br />
            it to the Debug Windows menu) (Use Ctrl+Alt+N as Keyboard Shortcut)</li>
<li>debugger keyword</li>
<li>Sys.Debug</li>
</ul>
<p>so in the code </p>
<pre class="brush: xml;">

    &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;

        function noDebugger() {
            alert('not here');
            return true;
        }

        function catchDebugger() {
            debugger;
            alert('can break here');
            return true;
        }        

    &lt;/script&gt;

    &lt;h1&gt;Debugger; in JavaScript&lt;/h1&gt;

    &lt;input type=&quot;button&quot; onclick=&quot;noDebugger();&quot; value=&quot;No Debugger&quot; /&gt;
    &lt;br /&gt;
    &lt;input type=&quot;button&quot; onclick=&quot;catchDebugger();&quot; value=&quot;Catch Debugger&quot; /&gt;
</pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/littletalk.wordpress.com/268/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/littletalk.wordpress.com/268/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=268&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/09/17/debug-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
		<item>
		<title>HoverMenuExtender</title>
		<link>http://littletalk.wordpress.com/2008/05/16/hovermenuextender/</link>
		<comments>http://littletalk.wordpress.com/2008/05/16/hovermenuextender/#comments</comments>
		<pubDate>Fri, 16 May 2008 06:36:37 +0000</pubDate>
		<dc:creator>ken zheng</dc:creator>
				<category><![CDATA[VS2008]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[HoverMenuExtender]]></category>

		<guid isPermaLink="false">http://littletalk.wordpress.com/?p=87</guid>
		<description><![CDATA[Today, I spent time on using AJAX HoverMenuExtender to display details for  Listview items.
I got problem when declare HoverMenu at design time, so I created them on Databound event.
So on the html page
&#8230;
&#60;ItemTemplate&#62;
&#60;asp:HyperLink ID=&#8221;lblTitle&#8221; runat=&#8221;server&#8221;/&#62;
                                                &#60;asp:Panel CssClass=&#8221;detailsPanel&#8221; ID=&#8221;PopupPanel&#8221; runat=&#8221;server&#8221; style=&#8221;display:none;&#8221;&#62;
                                                    &#60;asp:Label ID=&#8221;lblHighlight&#8221; runat=&#8221;server&#8221; Text=&#8221;Label&#8221;&#62;&#60;/asp:Label&#62;
                                                &#60;/asp:Panel&#62;
&#60;/ItemTemplate&#62;
So on the code behind databound method:
                HoverMenuExtender titleHme = new HoverMenuExtender();
                [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=87&subd=littletalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today, I spent time on using AJAX HoverMenuExtender to display details for  Listview items.</p>
<p>I got problem when declare HoverMenu at design time, so I created them on Databound event.</p>
<p>So on the html page</p>
<p><span style="color:#ff0000;">&#8230;</span></p>
<p><span style="color:#ff0000;">&lt;ItemTemplate&gt;</span></p>
<p><span style="color:#ff0000;">&lt;asp:HyperLink ID=&#8221;lblTitle&#8221; runat=&#8221;server&#8221;/&gt;<br />
                                                &lt;asp:Panel CssClass=&#8221;detailsPanel&#8221; ID=&#8221;PopupPanel&#8221; runat=&#8221;server&#8221; style=&#8221;display:none;&#8221;&gt;<br />
                                                    &lt;asp:Label ID=&#8221;lblHighlight&#8221; runat=&#8221;server&#8221; Text=&#8221;Label&#8221;&gt;&lt;/asp:Label&gt;<br />
                                                &lt;/asp:Panel&gt;</span></p>
<p><span style="color:#ff0000;">&lt;/ItemTemplate&gt;</span></p>
<p><span style="color:#000000;">So on the code behind databound method:</span></p>
<p><span style="color:#ff0000;">                HoverMenuExtender titleHme = new HoverMenuExtender();<br />
                HyperLink titleLnk = e.Item.FindControl(&#8220;lblTitle&#8221;) as HyperLink;<br />
                Label hightlightLabel = e.Item.FindControl(&#8220;lblHighlight&#8221;) as Label;</span></p>
<p><span style="color:#ff0000;">                    titleHme.PopupControlID = PopupPanel.ID;<br />
                    titleHme.TargetControlID = titleLnk.ID;<br />
                    titleHme.PopupPosition = HoverMenuPopupPosition.Right;<br />
                    titleHme.ID = &#8220;hmeTitle&#8221;;<br />
                    titleHme.OffsetX = 5;<br />
                    e.Item.Controls.Add(titleHme);</span></p>
<p>Be careful Literal control cannot be used as Target control</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/littletalk.wordpress.com/87/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/littletalk.wordpress.com/87/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/littletalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/littletalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/littletalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/littletalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/littletalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/littletalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/littletalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/littletalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/littletalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/littletalk.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=littletalk.wordpress.com&blog=2688155&post=87&subd=littletalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://littletalk.wordpress.com/2008/05/16/hovermenuextender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e36e65741ca6b868a4f626cb656121bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ken zheng</media:title>
		</media:content>
	</item>
	</channel>
</rss>