<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://studentguru.gr/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">XinarisC</title><subtitle type="html" /><id>http://studentguru.gr/b/xinarisc/atom.aspx</id><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/default.aspx" /><link rel="self" type="application/atom+xml" href="http://studentguru.gr/b/xinarisc/atom.aspx" /><generator uri="http://telligent.com" version="6.0.119.19092">Telligent Community 6.0.119.19092 (Build: 6.0.119.19092)</generator><updated>2009-11-25T02:44:00Z</updated><entry><title>Infinite Scrolling with jQuery &amp; ASP .NET</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2011/05/29/infinite-scrolling-with-jquery-amp-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2011/05/29/infinite-scrolling-with-jquery-amp-asp-net.aspx</id><published>2011-05-28T22:52:00Z</published><updated>2011-05-28T22:52:00Z</updated><content type="html">&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;font size="3" face="Times New Roman"&gt;

&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;If
you want to find out how you can append data from the server to&amp;nbsp;a web page&amp;nbsp;asynchronously as
the user scrolls to the bottom of the page, creating an “infinite scrolling”,
then follow &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;this post. Basically this is
a functionality that you see in facebook’s News Feed and other popular
sites. We are going to see how to fetch the data from the server and
append them on the screen. Every time the user scrolls to the bottom of the
web page then our code should fetch the data for the next page and append them on
the screen. The user should see a spinning loading message to inform him that a
process is running on the server. &lt;/span&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;The jQuery library has a
full suite of AJAX capabilities that can help you to accomplish this. The functions and methods therein allow us to
load data from the server without a browser page refresh.&lt;/span&gt; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;u&gt;Notes:&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;The data is
coming from the server so for example you can fetch them from a database. For
this example I dynamically fetch the blog posts list from studentguru.gr
website by parsing the page tags. Every time the user scrolls to the bottom of
the webpage the next page of the blog post list is loaded.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;

&lt;/font&gt;&lt;div style="border-bottom-width:thin;border-bottom-style:solid;"&gt;
&lt;a href="http://www.exinaris.com/demos/infinitescroll/Default.aspx"&gt;Live DEMO&lt;/a&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.exinaris.com/demos/infinitescroll/Default.aspx"&gt;&lt;img style="width:722px;height:309px;" border="0" hspace="-1" alt="" align="" src="http://www.exinaris.com/demos/infinitescroll/images/infinitescrolling_ss.png" width="988" height="398" /&gt;&lt;/a&gt;&lt;br /&gt;

&lt;br /&gt;
&lt;/p&gt;&lt;div style="border-bottom-width:thin;border-bottom-style:solid;"&gt;
Download Source Code
&lt;/div&gt;
&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;a href="http://www.exinaris.com/demos/infinitescroll/SourceCode/infinitescrollsgblogs.zip"&gt;&lt;img border="0" hspace="-1" alt="Download" align="" src="http://www.exinaris.com/tutorials/images/zip_download.png" width="70" height="76" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;

&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;

&lt;div style="border-bottom-width:thin;border-bottom-style:solid;"&gt;
Steps
&lt;/div&gt;&lt;p&gt;
&lt;br /&gt;
&lt;strong&gt;1. Define the div area that the data will be shown in the webpage and add a div area for the loading message and spinning image.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;textarea style="width:910px;height:204px;" class="c#" name="code"&gt;&amp;lt;div id=&amp;quot;resultAppendDiv&amp;quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id=&amp;quot;loadingDiv&amp;quot; class=&amp;quot;loadingDiv&amp;quot; style=&amp;quot;clear: both; text-align: center;&amp;quot;&amp;gt;
    &amp;lt;div style=&amp;quot;text-align: center; vertical-align: middle; width: 400px; padding-left: 200px;
        color: #999&amp;quot;&amp;gt;
        &amp;lt;br /&amp;gt;
        &amp;lt;img src=&amp;quot;./Images/loading3.gif&amp;quot; alt=&amp;quot;Loading&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;
        Loading..
        &amp;lt;br /&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&lt;/textarea&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. &lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Using
jQuery .ajax() function&amp;nbsp;make the query to the server for the first time the webpage was
loaded.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;font size="3" face="Times New Roman"&gt;
&lt;/font&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;If you want an event to
work on your page, you should call it inside the&lt;em&gt; &lt;code&gt;&lt;span style="line-height:115%;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;mso-ansi-font-size:11.0pt;mso-bidi-font-size:11.0pt;"&gt;$(document).ready()&lt;/span&gt;&lt;/code&gt;&lt;/em&gt;
function. Everything inside it will load as soon as the &lt;span style="mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;DOM&lt;/span&gt;
is loaded and before the page contents are loaded.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;.ajax() is just one of the functions you can use to make an asynchronous request to the server. Other functions are&lt;em&gt; .post()&lt;/em&gt;&amp;nbsp; and &lt;em&gt;.live()&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN-US;"&gt;&lt;textarea style="width:910px;height:255px;" class="c#" name="code"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
    $(document).ready(function () {
        $lastid = 1;
        // The following will be executed in page load
        $.ajax({
            contentType: &amp;quot;text/html; charset=utf-8&amp;quot;,
            url: &amp;quot;FetchBlogItems.ashx?page=1&amp;quot;,
            dataType: &amp;quot;html&amp;quot;,
            success: function (data) {
                $(&amp;quot;#resultAppendDiv&amp;quot;).append(data);

            }
        });
    });
&amp;lt;/script&amp;gt;&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN-US;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN-US;"&gt;&lt;strong&gt;3. &lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Write
the server side code to fetch the blog post list (creating an HTTP Get and
parsing the page)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;

&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;You can c&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;reate
an ashx handler to return a string containg the data or you can just create a method and a expose it as a web method (with [Web Method])&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;textarea style="width:1000px;height:300px;" class="c#" name="code"&gt;// Get the results from
private static string url = &amp;quot;http://www.studentguru.gr/blogs/Default.aspx?PageIndex=&amp;quot;;

public void ProcessRequest(HttpContext context)
{
    string strPage;
    // Check the QueryString if its null or empty
    // if its null then this is the first time the web page is loaded
    // so fetch the first page of data
    if (!String.IsNullOrEmpty(context.Request.QueryString[&amp;quot;page&amp;quot;]))
        strPage = context.Request.QueryString[&amp;quot;page&amp;quot;];
    else
        strPage = &amp;quot;1&amp;quot;;
    // Create an HTTP Get request
    HttpWebRequest webRequest = WebRequest.Create(url + strPage) as HttpWebRequest;
    StringBuilder sb = new StringBuilder();
    StreamReader responseReader = new StreamReader(
        webRequest.GetResponse().GetResponseStream()
    );
    // Get the response data
    // Now the response data contains all the web page as you can see it when you navigate to it
    string responseData = responseReader.ReadToEnd();

    // Parse the web page and get the data we need
    // Blog list container
    String bpDelimeter = &amp;quot;BlogPostList&amp;quot;;
    // Search for bpDelimeter from the start of the web page
    int intBPContainerStart = responseData.IndexOf(bpDelimeter, 0);
    int intliItemStart = 0;
    int intliItemEnd = 0;

    while (intliItemStart != -1)
    {
        // Blog post list item
        String liDelimeterStart = &amp;quot;BlogPostArea&amp;quot;;
        intliItemStart = responseData.IndexOf(liDelimeterStart, intliItemEnd);
        if (intliItemStart == -1)
        {
            // If no more Blog post list items are on the web page exist loop
            break;
        }

        String liDelimeterEnd = &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;
        intliItemEnd = responseData.IndexOf(liDelimeterEnd, intliItemStart + 12);

        int intBGItemEnd = responseData.IndexOf(liDelimeterStart, intliItemStart + 12);

        string item = responseData.Substring(intliItemStart - 11, (intliItemEnd - (intliItemStart)));
        // Add the item to the string buidler
        sb.Append(item + &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;);
    }
    string result = sb.ToString();
    // Replace the relative paths with the absolute paths
    result = result.Replace(&amp;quot;/blogs/&amp;quot;, &amp;quot;http://www.studentguru.gr/blogs/&amp;quot;);
    result = result.Replace(&amp;quot;/members/&amp;quot;, &amp;quot;http://www.studentguru.gr/members/&amp;quot;);
    context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
    context.Response.Write(result);
}&lt;/textarea&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;4. &lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Write
the JavaScript code to trace the user scrolling to the bottom of the web page.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;textarea style="width:1000px;height:109px;" class="c#" name="code"&gt;// When user scrolls to the bottom of the web page add more content
$(window).scroll(function () {
    if ($(window).scrollTop() == $(document).height() - $(window).height()) {
        AddMoreContent();
    }
});&lt;/textarea&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;5. &lt;span style="mso-ansi-language:EN-US;"&gt;Using jQuery .ajax() function make the
query to the server and append the next page of the data to the screen.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;mso-ansi-language:EN;"&gt;&lt;font face="Calibri"&gt;&lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;The $lastid variable below is the next page of data to be loaded. The first page was fetched on the page load.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;textarea style="width:1000px;height:258px;" class="c#" name="code"&gt;$(document).ready(function () {
    $lastid = 2;
    function AddMoreContent() {
        // send an attribute in QyeryString as the page of data is going to load
        $.ajax({
            contentType: &amp;quot;text/html; charset=utf-8&amp;quot;,
            url: &amp;quot;FetchBlogItems.ashx?page=&amp;quot; + $lastid,
            dataType: &amp;quot;html&amp;quot;,
            success: function (data) {
                $(&amp;quot;#resultAppendDiv&amp;quot;).append(data);
                // increase the paging 
                $lastid = $lastid + 1;
            }
        });
    }
});&lt;/textarea&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6. &lt;span style="line-height:115%;font-size:11pt;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Write
the code to show or hide the loading div area when the ajax starts and ajax
stops respectively.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;textarea style="width:1000px;height:205px;" class="c#" name="code"&gt;$(document).ready(function () {
    // Show the loading Div Area when ajax starts
    $(&amp;#39;#loadingDiv&amp;#39;).ajaxStart(function () {
        $(this).show();
    })

    // Hide the loading Div Area when ajax stops
    $(&amp;#39;#loadingDiv&amp;#39;).ajaxStop(function () {
        $(this).hide();
    })
});&lt;/textarea&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=130707&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="asp.net" scheme="http://studentguru.gr/b/xinarisc/archive/tags/asp-net/default.aspx" /><category term="JQuery" scheme="http://studentguru.gr/b/xinarisc/archive/tags/JQuery/default.aspx" /></entry><entry><title>Drag n drop Shopping cart with JQuery &amp; ASP .NET</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/12/02/drag-n-drop-shopping-cart-with-jquery-amp-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/12/02/drag-n-drop-shopping-cart-with-jquery-amp-asp-net.aspx</id><published>2010-12-01T22:51:00Z</published><updated>2010-12-01T22:51:00Z</updated><content type="html">&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Let’s see some basics on how to use JQuery with ASP.NET controls with an interesting example. This is a long post so I will try to keep it as simple and organized as possible.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;We are going to create a classic shopping cart behavior. The ASP.NET control &lt;b&gt;ListView&lt;/b&gt; will hold the products in&amp;nbsp;three columns. A user can drag each item (product) of the ListView and drop it inside a floating div (the shopping cart). We are using various visual&amp;nbsp;effects on loading the ListView, adding/removing an item to/from the shopping cart, dropping an item, hiding and showing Check out div and more. Finally we access the client-side Shopping cart div’s content from the code-behind.&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;u&gt;&lt;span&gt;General objectives/What to learn:&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;u&gt;&lt;span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span&gt;&lt;span&gt;ASP.NET ListView Control to hold the products. Use JQuery to define each item of the ListView as the &lt;b&gt;draggable&lt;/b&gt; area.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Use a div as the shopping cart. Define it as the &lt;b&gt;droppable&lt;/b&gt; area.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Use JQuery to make the shopping cart &lt;b&gt;floating&lt;/b&gt; on the screen when you scroll down.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;JQuery effects on loading the ListView, adding or removing an item from the shopping cart, dropping a product, hiding/showing ListView, hiding/showing Check Out Div.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Access the client-side shopping cart from the code-behind using JQuery &lt;b&gt;ajax&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Reappear the products in shopping cart on &lt;b&gt;server postback&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Create a client-side and server-side (using ASP.NET AJAX) checkout button to display the products and their total cost in shopping cart.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;span&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;u&gt;&lt;span&gt;Using:&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;&lt;span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 6pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;The JQuery JavaScript library, last version available to download &lt;a href="http://code.jquery.com/jquery-latest.min.js"&gt;&lt;font color="#0000ff"&gt;here&lt;/font&gt;&lt;/a&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 6pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;The JQuery UI JavaScript library (which includes effects and widgets), version 1.8.6 available to download &lt;a href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"&gt;&lt;font color="#0000ff"&gt;here&lt;/font&gt;&lt;/a&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal" style="MARGIN:0cm 0cm 6pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;Floating Div JS library, available &lt;a href="http://plugins.jquery.com/project/floatobject"&gt;here&lt;/a&gt; (use it to set a DOM object float on screen to follow the users while they scroll the page)&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;table class="" style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td class="" style="FONT-SIZE:small;"&gt;&lt;b&gt;&lt;a title="Live Demo" href="http://www.exinaris.com/demos/shoppingcart/Default.aspx" target="_blank"&gt;LIVE DEMO&lt;/a&gt;:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.exinaris.com/demos/shoppingcart/Default.aspx"&gt;&lt;img height="439" alt="screenshot" src="http://www.exinaris.com/demos/shoppingcart/shopping_cart.png" width="500" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="" style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td class="" style="FONT-SIZE:small;"&gt;&lt;b&gt;Source Code/Sample project:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/demos/shoppingcart/ShoppingCart_exinaris.zip"&gt;&lt;img height="76" alt="" src="http://www.exinaris.com/tutorials/images/zip_download.png" width="70" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="" style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td class="" style="FONT-SIZE:small;"&gt;&lt;b&gt;Steps:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;1.&lt;span&gt;&amp;nbsp; &lt;/span&gt;ListView control to hold the products&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font size="3"&gt;2. &lt;span&gt;&amp;nbsp;&lt;/span&gt;Shopping cart Div&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;3.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Check Out Div&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.&lt;span&gt;&amp;nbsp; &lt;/span&gt;JQuery&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt;
&lt;blockquote&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font size="3"&gt;4.1. &lt;span&gt;&amp;nbsp;&lt;/span&gt;JQuery effects&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.2. &lt;span&gt;&amp;nbsp;&lt;/span&gt;Make the shopping cart Div floating on the screen as we scroll down&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.3. &lt;span&gt;&amp;nbsp;&lt;/span&gt;Set the ListView items as the draggable area&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.4.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Set the Shopping cart Div as the droppable area&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.5.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Update the Lists in code-behind about the newly dropped item&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.6. &lt;span&gt;&amp;nbsp;&lt;/span&gt;Update the Lists in code-behind when removing an item from the shopping cart&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.7.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Client-side show the Check out Div and total amount of order&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;font size="3"&gt;4.8.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Server-side show the Check out Div and total amount of order&lt;/font&gt;&lt;/span&gt; &lt;/font&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span&gt;5.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Manually create PostBack + reappear items in shopping cart&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp; 
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;&lt;b&gt;1. ListView control to hold the products&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Add a ListView control to the page and set some styling with CSS.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:862px;HEIGHT:491px;" name="code"&gt;&amp;lt;asp:ListView runat=&amp;quot;server&amp;quot; ID=&amp;quot;listView&amp;quot; GroupItemCount=&amp;quot;3&amp;quot;&amp;gt;
    &amp;lt;LayoutTemplate&amp;gt;
        &amp;lt;div style=&amp;quot;width: 500px;&amp;quot;&amp;gt;
            &amp;lt;asp:PlaceHolder runat=&amp;quot;server&amp;quot; ID=&amp;quot;groupPlaceHolder&amp;quot; /&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/LayoutTemplate&amp;gt;
    &amp;lt;GroupTemplate&amp;gt;
        &amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;
            &amp;lt;asp:PlaceHolder runat=&amp;quot;server&amp;quot; ID=&amp;quot;itemPlaceHolder&amp;quot; /&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/GroupTemplate&amp;gt;
    &amp;lt;ItemTemplate&amp;gt;
        &amp;lt;div class=&amp;quot;productItemStyle primarydiv&amp;quot; price=&amp;#39;&amp;lt;%# Eval(&amp;quot;Price&amp;quot;) %&amp;gt;&amp;#39; code=&amp;#39;&amp;lt;%# Eval(&amp;quot;Code&amp;quot;) %&amp;gt;&amp;#39;
            name=&amp;#39;&amp;lt;%# Eval(&amp;quot;Name&amp;quot;) %&amp;gt;&amp;#39; id=&amp;#39;&amp;lt;%# Eval(&amp;quot;Code&amp;quot;) %&amp;gt;&amp;#39;&amp;gt;
            &amp;lt;img src=&amp;#39;&amp;lt;%# &amp;quot;/Products/&amp;quot; + Eval(&amp;quot;Picture&amp;quot;) %&amp;gt;&amp;#39; height=&amp;quot;120&amp;quot; width=&amp;quot;120&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;
            &amp;lt;b&amp;gt;
                &amp;lt;br /&amp;gt;
                &amp;lt;%# Eval(&amp;quot;Name&amp;quot;) %&amp;gt;&amp;lt;/b&amp;gt;
            &amp;lt;br /&amp;gt;
            Price: $&amp;lt;%# Eval(&amp;quot;Price&amp;quot;) %&amp;gt;&amp;lt;br /&amp;gt;
            &amp;lt;br /&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/ItemTemplate&amp;gt;
    &amp;lt;ItemSeparatorTemplate&amp;gt;
        &amp;lt;div class=&amp;quot;itemSeparator&amp;quot;&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/ItemSeparatorTemplate&amp;gt;
    &amp;lt;GroupSeparatorTemplate&amp;gt;
        &amp;lt;div class=&amp;quot;groupSeparator&amp;quot;&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/GroupSeparatorTemplate&amp;gt;
    &amp;lt;EmptyDataTemplate&amp;gt;
    &amp;lt;/EmptyDataTemplate&amp;gt;
&amp;lt;/asp:ListView&amp;gt;&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;The &lt;/span&gt;&lt;span style="FONT-SIZE:9.5pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;GroupItemCount&lt;/span&gt;&lt;span style="FONT-SIZE:9.5pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;=&amp;quot;3&amp;quot; &lt;/span&gt;&lt;span&gt;&lt;b&gt;ListView&lt;/b&gt; attribute, shows 3 items (products) in each row of the &lt;b&gt;ListView&lt;/b&gt;. Defining &lt;i&gt;itemSeparator&lt;/i&gt; and &lt;i&gt;groupSeparator&lt;/i&gt; classes will separate each cell and row as showed in the demo. As we need info about the id, code, name and price of the selected (dragged n dropped in shopping cart) product, one method is to define custom attributes on the main div, so we have access to them from JavaScript. We could also add the custom attributes to the main div by the &lt;b&gt;ListView&lt;/b&gt;’s &lt;i&gt;ItemDataBound&lt;/i&gt; event.&lt;/span&gt; 
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;As for the products in code-behind, for the simplicity of this post I preferred to save them in static &lt;b&gt;List&lt;/b&gt;s rather than save them in a database. So, we need to create a list of products and set them as the source of the ListView on Page Load, update the list when dropped an item to shopping cart or deleting an item from the shopping cart, retrieve the products from the list and show them in the shopping cart on &lt;b&gt;PostBack&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;First, create a class for the products:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="Consolas" size="2"&gt;&lt;textarea class="c#" style="WIDTH:862px;HEIGHT:258px;" name="code"&gt;public class Product
    {
        public string picture;
        public string Name;
        public string Price;
        public string Code;

        public Product(string _picture, string _name, string _price, string _code)
        {
            this.picture = _picture;
            this.Name = _name;
            this.Price = _price;
            this.Code = _code;
        }
    }&lt;/textarea&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;On Page_Load event of the page, create a &lt;b&gt;DataTable&lt;/b&gt; and add some items as the ListView datasource.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:862px;HEIGHT:233px;" name="code"&gt;DataTable table = new DataTable();
table.Columns.Add(&amp;quot;Picture&amp;quot;, typeof(string));
table.Columns.Add(&amp;quot;Name&amp;quot;, typeof(string));
table.Columns.Add(&amp;quot;Price&amp;quot;, typeof(string));
table.Columns.Add(&amp;quot;Code&amp;quot;, typeof(string));

table.Rows.Add(&amp;quot;0694B95DFEA6CE52729FCEB27D6C92C9.png&amp;quot;, &amp;quot;LENOVO Ideapad S10-2 &amp;quot;, &amp;quot;249 EUR&amp;quot;, &amp;quot;1&amp;quot;);
...
...
...

listView.DataSource = table;
listView.DataBind();&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Create two static Lists, one to hold the products details (&lt;b&gt;productList&lt;/b&gt;) and a list to hold the quantity of each item in the basket (&lt;b&gt;countList&lt;/b&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;List&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;Product&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;gt; productList = &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;List&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;Product&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;gt;(); &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;// available products in application&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;static&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;List&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;gt; countList = &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;&lt;font face="Consolas" color="#2b91af" size="2"&gt;List&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;gt;(); &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;&lt;font face="Consolas" color="#008000" size="2"&gt;// quantity of each item in shopping cart&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Add the previously created &lt;b&gt;DataTable&lt;/b&gt; row’s contents in the &lt;b&gt;productList&lt;/b&gt; and initialize &lt;b&gt;countList&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:862px;HEIGHT:130px;" name="code"&gt;for (int k = 0; k &amp;lt; table.Rows.Count; k++)
{
    productList.Add(new Product(table.Rows[k][&amp;quot;Picture&amp;quot;].ToString(), table.Rows[k][&amp;quot;Name&amp;quot;].ToString(), table.Rows[k][&amp;quot;Price&amp;quot;].ToString(), table.Rows[k][&amp;quot;Code&amp;quot;].ToString()));
    countList.Add(new int());
    countList[k] = 0;
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;&lt;b&gt;2. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Shopping cart Div&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;In the demo you can download all the CSS classes showed here.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;textarea class="c#" style="WIDTH:1019px;HEIGHT:300px;" name="code"&gt;&amp;lt;div id=&amp;quot;divStayTopLeft&amp;quot; style=&amp;quot;display: block; width: 200px; height: 325px; background-color: #cbcbcb;
    border: 1px solid #454545&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;dropZoneContainer&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;dropZoneHeader&amp;quot;&amp;gt;
            Shopping Basket&amp;lt;/div&amp;gt;
        &amp;lt;div id=&amp;quot;dropPanel&amp;quot; runat=&amp;quot;server&amp;quot; class=&amp;quot;dropZone&amp;quot;&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;asp:Button ID=&amp;quot;postbackButton&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Create postback&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;
        &amp;lt;asp:UpdatePanel ID=&amp;quot;shoppingCartUpdatePanel&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
            &amp;lt;ContentTemplate&amp;gt;
                &amp;lt;asp:Button ID=&amp;quot;checkoutButton&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Checkout server-side&amp;quot; OnClick=&amp;quot;checkoutButton_Click&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Checkout client-side&amp;quot; onclick=&amp;quot;listSelectedItems()&amp;quot; /&amp;gt;
            &amp;lt;/ContentTemplate&amp;gt;
        &amp;lt;/asp:UpdatePanel&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/textarea&gt; 
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;3. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Check Out Div&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1019px;HEIGHT:372px;" name="code"&gt;&amp;lt;div id=&amp;quot;checkoutDiv&amp;quot; runat=&amp;quot;server&amp;quot; style=&amp;quot;border: 1px solid #616161; background-color: #fcfcfc;
    font-family: Calibri, Verdana; font-size: 12px; display: none;&amp;quot;&amp;gt;
    &amp;lt;table style=&amp;quot;width: 100%&amp;quot;&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td style=&amp;quot;vertical-align: top;&amp;quot;&amp;gt;
                &amp;lt;img src=&amp;quot;images/shopping_cart.jpg&amp;quot; style=&amp;quot;height: 89px; width: 112px&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt;
            &amp;lt;/td&amp;gt;
            &amp;lt;td style=&amp;quot;padding-left: 20px;&amp;quot;&amp;gt;
                &amp;lt;div id=&amp;quot;checkOutContentDiv&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
                &amp;lt;/div&amp;gt;
            &amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td style=&amp;quot;padding: 5px;&amp;quot;&amp;gt;
                &amp;lt;img src=&amp;quot;images/confirm_checkout.png&amp;quot; alt=&amp;quot;&amp;quot; onclick=&amp;quot;javasript:ShowlistViewDiv()&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;
                &amp;lt;a href=&amp;quot;#&amp;quot; onclick=&amp;quot;BLOCKED SCRIPTShowlistViewDiv()&amp;quot;&amp;gt;Back to Products&amp;lt;/a&amp;gt;
            &amp;lt;/td&amp;gt;
            &amp;lt;td&amp;gt;
            &amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/table&amp;gt;
&amp;lt;/div&amp;gt;&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;4. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;JQuery&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Include the JQuery script file, the JQuery UI script file (to be used for the effects) and the script file to make the shopping cart div float as we scroll the page:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;Scripts/jquery-1.2.6.min.js&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;Scripts/jquery-ui-personalized-1.6rc4.min.js&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;Scripts/jquery.floatobject-1.4.js&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;&lt;font face="Consolas" color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;&lt;font face="Consolas" color="#800000" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Consolas" color="#0000ff" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;4.1. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;JQuery effects&lt;/span&gt;:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span&gt;Add ListView onload effect&lt;/span&gt;&lt;/u&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Add a div around the &lt;b&gt;ListView&lt;/b&gt; control (&lt;i&gt;listViewDiv)&lt;/i&gt; so you can define a JQuery effect on it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:96px;" name="code"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
    $(document).ready(function () {
        $(&amp;quot;#listViewDiv&amp;quot;).show(&amp;#39;explode&amp;#39;, {}, 500);
    });
&amp;lt;/script&amp;gt;&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;This will cause the &lt;i&gt;listViewDiv&lt;/i&gt; show with the &lt;b&gt;explode&lt;/b&gt; effect as the screenshot below:&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;img height="393" alt="explode effect" src="http://www.exinaris.com/demos/shoppingcart/show_explode_effect.png" width="400" border="0" /&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;The $().ready(&lt;span style="COLOR:blue;"&gt;function&lt;/span&gt; () { }); means that the content of it will be executed on body load.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;Set effect at the shopping cart div when an item is dropped (This effect is disabled in the demo)&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:76px;" name="code"&gt;$(document).ready(function () {
    $(&amp;quot;#divStayTopLeft&amp;quot;).effect(&amp;quot;bounce&amp;quot;);
});&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;Show the check out Div/ Hide the ListView Div&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:76px;" name="code"&gt;function HidelistViewDiv() {
    $(&amp;quot;#listViewDiv&amp;quot;).hide(&amp;#39;slide&amp;#39;);
    $(&amp;quot;#checkoutDiv&amp;quot;).show(&amp;#39;fold&amp;#39;);
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;u&gt;&lt;span&gt;Show the ListView Div/ Hide the check out Div&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;u&gt;&lt;span&gt;&lt;/span&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;u&gt;&lt;span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Note that we can define a callback function on the JQuery show() function’s arguments.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:129px;" name="code"&gt;function ShowlistViewDiv() {
    $(&amp;quot;#checkoutDiv&amp;quot;).hide(&amp;#39;slide&amp;#39;);
    $(&amp;quot;#listViewDiv&amp;quot;).show(&amp;#39;explode&amp;#39;, {}, 500, callbackShowSearch2);
}

function callbacklistView() {
};&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;4&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;.2. Make the shopping cart Div floating on the screen as we scroll down:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:9.5pt;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;As we previously included the script file &lt;span style="COLOR:blue;"&gt;jquery.floatobject-1.4.js&lt;/span&gt; we can now set the shopping cart float as we scroll the page.&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;
&lt;p&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:70px;" name="code"&gt;$().ready(function () {
    $(&amp;quot;#divStayTopLeft&amp;quot;).makeFloat({ x: &amp;quot;current&amp;quot;, y: &amp;quot;current&amp;quot;, speed: &amp;quot;fast&amp;quot; });
});&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;4.3. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Set the ListView items as the draggable area:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;We previously set the ListView privary div as &lt;span style="COLOR:red;"&gt;class&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;productItemStyle primarydiv&amp;quot;&lt;/span&gt;, so we use the CSS class name to set the JQuery action:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;textarea class="c#" style="WIDTH:836px;HEIGHT:70px;" name="code"&gt;$(document).ready(function() {
    $(&amp;quot;.productItemStyle&amp;quot;).draggable({ helper: &amp;quot;clone&amp;quot;, opacity: &amp;quot;0.5&amp;quot; });
});&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;4.4. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Set the Shopping cart Div as the droppable area:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;We also added to &lt;b&gt;ListView&lt;/b&gt; primary Div some custom attributes to be used. The code below&amp;nbsp;retrieves those custom attribute’s values. Note that, we add a class to the dropped item to make product&amp;#39;s image&amp;nbsp;smaller.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1085px;HEIGHT:504px;" name="code"&gt;$(&amp;quot;.dropZone&amp;quot;).droppable(
{
    // Set the item to be accepted in the shopping cart (Access only items with a &amp;quot;productItemStyle&amp;quot; class.)
    accept: &amp;quot;.productItemStyle&amp;quot;,
    // Set the the class of the div when we hover with an item to be dropped in the div
    hoverClass: &amp;quot;dropHover&amp;quot;,
    // set the action on item dropped
    drop: function(ev, ui) { 

        // Add a new class to the dropped item.
        var droppedItem = ui.draggable.clone().addClass(&amp;quot;droppedItemStyle&amp;quot;);
        // Get the product code
        var productCode = droppedItem[0].attributes[&amp;quot;code&amp;quot;].nodeValue;
        // Get the product price
        var productPrice = getFormattedPrice(droppedItem[0].attributes[&amp;quot;price&amp;quot;].nodeValue);                          
                        
        // Create a Remove Link for the item in the shopping cart
        var removeLink = document.createElement(&amp;quot;a&amp;quot;); 
        removeLink.innerHTML = &amp;quot;Remove&amp;quot;; 
        removeLink.className = &amp;quot;deleteLink&amp;quot;;
        removeLink.href = &amp;quot;#&amp;quot;;
        removeLink.onclick = function() 
        {
            $(&amp;quot;.dropZone&amp;quot;).children().remove(&amp;quot;#&amp;quot; + droppedItem[0].id);
        }                
        droppedItem[0].appendChild(removeLink);                                                                     
        $(this).append(droppedItem);
        //$(&amp;quot;#divStayTopLeft&amp;quot;).effect(&amp;quot;bounce&amp;quot;); // Uncomment this line to get Bounce effect when dropping a product to shopping cart
    }
});&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;4.5. Update the Lists in code-behind about the newly dropped item:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:9.5pt;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Add the following code in the&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:9.5pt;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;drop: &lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;(ev, ui) &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;showed above:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:9.5pt;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1085px;HEIGHT:147px;" name="code"&gt;$.ajax({
    type: &amp;quot;POST&amp;quot;,
    url: &amp;quot;Default.aspx/UpdatePanel&amp;quot;,
    contentType: &amp;quot;application/json; charset=utf-8&amp;quot;,
    data: &amp;quot;{id:&amp;#39;&amp;quot; + productCode + &amp;quot;&amp;#39;}&amp;quot;,
    dataType: &amp;quot;json&amp;quot;
});&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:9.5pt;LINE-HEIGHT:115%;FONT-FAMILY:Consolas;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;The ajax call will create a POST to the server side public static method called &amp;quot;UpdatePanel&amp;quot; which take a string as an argument named &lt;i&gt;productCode&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font face="Consolas"&gt;&lt;/font&gt;Note that the public static method should marked as &lt;b&gt;[WebMethod]&lt;/b&gt; (add a reference to System.Web.Services).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1111px;HEIGHT:202px;" name="code"&gt;[WebMethod]
public static void UpdatePanel(string id) // Add item to basket
{
    // find the product in productsList
    int foundPos = productSearchById(id);
    if (foundPos != -1) // If found increase the quantity of the item in countList
    {
        countList[foundPos] = countList[foundPos] + 1;
            
    }
}

public static int productSearchById(string id) // find the product with code == id
{
    for (int i=0; i&amp;lt;productList.Count; i++)
    {
        if (productList&lt;img src="http://www.studentguru.gr/emoticons/emotion-55.gif" alt="Idea" /&gt;.Code == id)
        {
            return i;
        }
                 
    }
    return -1;
}&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;&lt;b&gt;4.6.&lt;/b&gt; &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;Update the Lists in code-behind when removing an item from the shopping cart:&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;Accordingly use a JQuery ajax post to call a server method to delete the Products from the lists. &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;This is the current removeLink.onclick function (in &lt;/span&gt;&lt;span style="FONT-SIZE:9.5pt;FONT-FAMILY:Consolas;"&gt;drop: &lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;(ev, ui))&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;textarea class="c#" style="WIDTH:1111px;HEIGHT:88px;" name="code"&gt;removeLink.onclick = function() 
{
    $(&amp;quot;.dropZone&amp;quot;).children().remove(&amp;quot;#&amp;quot; + droppedItem[0].id);
}                
&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Replace the code above with the following:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1111px;HEIGHT:208px;" name="code"&gt;removeLink.onclick = function() 
{
    $(&amp;quot;.dropZone&amp;quot;).children(&amp;quot;#&amp;quot; + droppedItem[0].id).fadeOut(&amp;#39;slow&amp;#39;, function () { $(this).remove(); });
    $.ajax({
        type: &amp;quot;POST&amp;quot;,
        url: &amp;quot;Default.aspx/RemoveItem&amp;quot;,
        contentType: &amp;quot;application/json; charset=utf-8&amp;quot;,
        data: &amp;quot;{id:&amp;#39;&amp;quot; + productCode + &amp;quot;&amp;#39;}&amp;quot;,
        dataType: &amp;quot;json&amp;quot;
    });
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Add the following method to code-behind:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1111px;HEIGHT:191px;" name="code"&gt;[WebMethod]
public static void RemoveItem(string id) // Remove item from basket
{
    // find the product in Products List
    int foundPos = productSearchById(id);
    if (foundPos != -1) // If found decrease the quantity of the item in countList
    {
        countList[foundPos] = countList[foundPos] - 1;
    }
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;4.7. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Client-side show the Check out Div and total amount of order:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;img height="164" alt="" src="http://www.exinaris.com/demos/shoppingcart/checkout.png" width="526" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1111px;HEIGHT:265px;" name="code"&gt;function listSelectedItems() 
{
    var itemsInShoppingCart = $(&amp;quot;.dropZone div.primarydiv&amp;quot;);
    var cart = &amp;quot;&amp;lt;table style=&amp;#39;width:100%;&amp;#39;&amp;gt;&amp;quot;;
    var total = 0;
    for(i=0;i&amp;lt;=itemsInShoppingCart.length-1;i++) 
    {
        cart = cart + &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#39;background-color:#f7f7f7;&amp;#39;&amp;gt;&amp;quot; + itemsInShoppingCart[ i ].attributes[&amp;quot;name&amp;quot;].nodeValue + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + itemsInShoppingCart[ i ].attributes[&amp;quot;price&amp;quot;].nodeValue + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;
        total += parseFloat(itemsInShoppingCart[ i ].attributes[&amp;quot;price&amp;quot;].nodeValue);
    }
    cart = cart + &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#39;font-weight:bold&amp;#39;&amp;gt;Total&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#39;font-weight:bold&amp;#39;&amp;gt;€ &amp;quot; + total + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;;

    cart = cart + &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;
    checkoutDiv.style.display = &amp;#39;block&amp;#39;;
    checkOutContentDiv.innerHTML = cart;
        
    HidelistViewDiv();
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;4.8. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Server-side show the Check out Div and total amount of order:&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Note that we surround the following button as well as the check out Div with an &lt;b&gt;UpdatePanel&lt;/b&gt;. Find out how we can call a JavaScript function from the code-behind in an ASP.NET Ajax enabled webpage:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1090px;HEIGHT:328px;" name="code"&gt;protected void checkoutButton_Click(object sender, EventArgs e)
{
    float total = 0;
    StringBuilder cart = new StringBuilder();
    cart.Append(&amp;quot;&amp;lt;table style=&amp;#39;width:100%;&amp;#39;&amp;gt;&amp;quot;);
    for (int i = 0; i &amp;lt; countList.Count; i++)
    {
        if (countList&lt;img src="http://www.studentguru.gr/emoticons/emotion-55.gif" alt="Idea" /&gt; != 0)
        {
            cart.Append(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#39;background-color:#f7f7f7;&amp;#39;&amp;gt;&amp;quot; + productList[ i ].Name + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot; + productList[ i ].Price + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);
            string price = productList[ i ].Price.ToString().Substring(0, productList[ i ].Price.ToString().Length - 4);
            float subtotal = 0;
            float.TryParse(price, out subtotal);
            total += subtotal;
        }
    }
    cart.Append(&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;#39;font-weight:bold&amp;#39;&amp;gt;Total&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;#39;font-weight:bold&amp;#39;&amp;gt;€ &amp;quot; + total + &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;);
    cart.Append(&amp;quot;&amp;lt;/table&amp;gt;&amp;quot;);

    checkoutDiv.Style.Add(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);
    checkOutContentDiv.InnerHtml = cart.ToString();

    // Call javascript function
    ClientScriptManager csm = Page.ClientScript;
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    sb.Append(@&amp;quot;HidelistViewDiv();&amp;quot;);

    ScriptManager.RegisterStartupScript(shoppingCartUpdatePanel, shoppingCartUpdatePanel.GetType(),
            Guid.NewGuid().ToString(), sb.ToString(), true);
         
}&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;u&gt;5. &lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Manually create PostBack + reappear items in shopping cart&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;b&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Cycle through &lt;b&gt;productList&lt;/b&gt;, find the selected products from &lt;b&gt;countList&lt;/b&gt; and show the products in the shopping cart.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;textarea class="c#" style="WIDTH:1090px;HEIGHT:415px;" name="code"&gt;protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                LoadTable();
                
            }
            else
            {
                // if it is not a postback
                    // fill the basket with the Product items in productList
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i &amp;lt; countList.Count; i++)
                {
                    if (countList&lt;img src="http://www.studentguru.gr/emoticons/emotion-55.gif" alt="Idea" /&gt; != 0)
                    {
                        sb.Append(&amp;quot;&amp;lt;div class=\&amp;quot;productItemStyle primarydiv droppedItemStyle\&amp;quot; price=\&amp;quot;&amp;quot; + productList[ i ].Price + &amp;quot;\&amp;quot; code=\&amp;quot;&amp;quot; + productList&lt;img src="http://www.studentguru.gr/emoticons/emotion-55.gif" alt="Idea" /&gt;.Code + &amp;quot;\&amp;quot; name=\&amp;quot;&amp;quot; + productList[ i ].Name + &amp;quot;\&amp;quot; id=\&amp;quot;&amp;quot; + productList[ i ].Code + &amp;quot;\&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);
                        sb.Append(&amp;quot;&amp;lt;img src=\&amp;quot;/Products/&amp;quot; + productList[ i ].picture + &amp;quot;\&amp;quot; height=\&amp;quot;64\&amp;quot; width=\&amp;quot;64\&amp;quot; /&amp;gt;&amp;lt;b&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;);
                        sb.Append(productList[ i ].Name + &amp;quot;&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;);
                        sb.Append(&amp;quot;Price: &amp;quot; + productList[ i ].Price + &amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;);
                        sb.Append(&amp;quot;&amp;lt;a href=\&amp;quot;#\&amp;quot; class=\&amp;quot;deleteLink\&amp;quot; code=\&amp;quot;&amp;quot; + productList[ i ].Code + &amp;quot;\&amp;quot; onclick=\&amp;quot;BLOCKED SCRIPTRemoveProductItem(&amp;quot; + productList[ i ].Code + &amp;quot;)\&amp;quot; &amp;gt;Remove&amp;lt;/a&amp;gt;&amp;quot;);
                        sb.Append(&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);
                    }
                }
                dropPanel.InnerHtml = sb.ToString();
            }
        }&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;u&gt;&lt;b&gt;Final notes&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;This is a small example of what you can achieve using JQuery in your ASP.NET projects. It is easy to use and gives your WebPages a better look with impressive effects. I hope you like it!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=119841&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="asp .net" scheme="http://studentguru.gr/b/xinarisc/archive/tags/asp+-net/default.aspx" /><category term="drag n drop" scheme="http://studentguru.gr/b/xinarisc/archive/tags/drag+n+drop/default.aspx" /><category term="JQuery" scheme="http://studentguru.gr/b/xinarisc/archive/tags/JQuery/default.aspx" /><category term="shopping cart" scheme="http://studentguru.gr/b/xinarisc/archive/tags/shopping+cart/default.aspx" /></entry><entry><title>Call the Master Page from a Content Page (ASP.NET)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/11/04/call-the-master-page-from-a-content-page-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/11/04/call-the-master-page-from-a-content-page-asp-net.aspx</id><published>2010-11-04T15:53:00Z</published><updated>2010-11-04T15:53:00Z</updated><content type="html">&lt;p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;We&amp;nbsp;can see how to call a Master Page public method from the content page with a real problem when dealing with&amp;nbsp;Master Pages.&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;How can we select/mark the selected link on the menu of an html website?&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Usually this is done using CSS.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;What about an ASP.NET website with the menu in the Master Page?&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; 
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Unfortunately we can’t use CSS to accomplish this. So we need to define new methods. A server-side solution of the problem is showed below, but any better methods are welcome. The general idea is to call a Master Page method from the&amp;nbsp;content page and pass a string that will recognize which page has loaded. For example in the content page “Downloads” we call the public method &lt;b style="mso-bidi-font-weight:normal;"&gt;setBodyId(&amp;quot;downloads&amp;quot;)&lt;/b&gt; that exists in the Master Page. Then in the Master Page we can select the downloads div by&amp;nbsp;changing it&amp;#39;s background-color.&lt;/span&gt;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;&lt;a title="Live Demo" href="http://www.exinaris.com/demos/masterpage_contentpage_select/Default.aspx" target="_blank"&gt;Live Demo&lt;/a&gt;:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/demos/masterpage_contentpage_select/Default.aspx" target="_blank"&gt;&lt;img border="0" alt="screenshot" src="http://www.exinaris.com/tutorials/masterpage_contentpage_select/screenshot.png" width="426" height="280" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Source Code/Sample project:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/masterpage_contentpage_select/MasterPageActiveChild.zip"&gt;&lt;img border="0" alt="" src="http://www.exinaris.com/tutorials/images/zip_download.png" width="70" height="76" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Steps:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;1. Master Page: Prepare the menu:&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;In this demo I created a floated div menu with LinkButtons as their content:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;textarea style="WIDTH:849px;HEIGHT:118px;" class="c#" name="code"&gt;&amp;lt;div id=&amp;quot;menucontainer&amp;quot; class=&amp;quot;menu&amp;quot;&amp;gt;
    &amp;lt;div id=&amp;quot;homeDiv&amp;quot; runat=&amp;quot;server&amp;quot; class=&amp;quot;menuitem&amp;quot;&amp;gt;
        &amp;lt;asp:LinkButton ID=&amp;quot;homeLinkButton&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Home&amp;quot; ForeColor=&amp;quot;White&amp;quot;
        onclick=&amp;quot;homeLinkButton_Click&amp;quot; CssClass=&amp;quot;menulink&amp;quot; /&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Make sure a&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;ll menu items (div in this case) have an &lt;b style="mso-bidi-font-weight:normal;"&gt;id&lt;/b&gt; and &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:Consolas;COLOR:red;FONT-SIZE:9.5pt;mso-ansi-language:EN-US;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;runat&lt;/strong&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:Consolas;COLOR:blue;FONT-SIZE:9.5pt;mso-ansi-language:EN-US;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;=&amp;quot;server&amp;quot; &lt;/strong&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;attribute so that we have access to the div from the code-behind.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;u&gt;2.&amp;nbsp;Master Page: Add an id attribute to the Master Page&amp;#39;s body tag&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;&lt;strong&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;body&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;id&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;lt;%=BodyId%&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;quot;&amp;gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;body&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;u&gt;3. Master Page: Add public method&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;textarea style="WIDTH:849px;HEIGHT:312px;" class="c#" name="code"&gt;public string BodyId;

public void setBodyId(string idPassed)
{
    BodyId = idPassed;
    if (idPassed == &amp;quot;home&amp;quot;)
    {
        homeDiv.Style.Add(&amp;quot;background-color&amp;quot;, &amp;quot;#bfcbd6&amp;quot;);
    }
    else if (idPassed == &amp;quot;downloads&amp;quot;)
    {
        downloadDiv.Style.Add(&amp;quot;background-color&amp;quot;, &amp;quot;#bfcbd6&amp;quot;);
    }
    else if (idPassed == &amp;quot;about&amp;quot;)
    {
        aboutDiv.Style.Add(&amp;quot;background-color&amp;quot;, &amp;quot;#bfcbd6&amp;quot;);
    }
}&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;So now let&amp;#39;s see how we call the &lt;strong&gt;setBodyId(string idPassed)&lt;/strong&gt; public method.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:11pt;mso-ansi-language:EN-US;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;u&gt;4. Content Page: Add @MasterType directive to the top of the content page&amp;#39;s declarative markup&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:849px;HEIGHT:52px;" class="c#" name="code"&gt;&amp;lt;%@ MasterType VirtualPath=&amp;quot;~/MasterPage.master&amp;quot; %&amp;gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;With this directive added you can reference the Master Page&amp;#39;s public methods and properties programmatically in the content page&amp;#39;s code-behind.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;5. Content Page: Call the Master Page&amp;#39;s method on page load&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:849px;HEIGHT:82px;" class="c#" name="code"&gt;protected void Page_Load(object sender, EventArgs e)
{
    this.Master.setBodyId(&amp;quot;about&amp;quot;);
}&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#39;s it! This is a simple task but again this is not&amp;nbsp;the best and efficient way to&amp;nbsp;do&amp;nbsp;it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://www.exinaris.com/demos/masterpage_contentpage_select/Default.aspx" target="_blank"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/masterpage_contentpage_select/MasterPageActiveChild.zip" target="_blank"&gt;Sample project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Post Updated:&lt;/strong&gt; Thanks to &lt;strong&gt;djsolid&lt;/strong&gt;&amp;#39;s feedback!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=118997&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="asp .net" scheme="http://studentguru.gr/b/xinarisc/archive/tags/asp+-net/default.aspx" /><category term="content page" scheme="http://studentguru.gr/b/xinarisc/archive/tags/content+page/default.aspx" /><category term="master page" scheme="http://studentguru.gr/b/xinarisc/archive/tags/master+page/default.aspx" /></entry><entry><title>Data Binding Techniques (ASP.NET, LINQ)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/03/17/data-binding-techniques-asp-net-linq.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/03/17/data-binding-techniques-asp-net-linq.aspx</id><published>2010-03-17T21:04:00Z</published><updated>2010-03-17T21:04:00Z</updated><content type="html">&lt;p&gt;Μια κατηγορία controls που είναι ιδιαίτερα σημαντικά&amp;nbsp;σε ένα ASP.NET Website, πιστεύω κανένας δεν θα αρνηθεί ότι&amp;nbsp;είναι τα Data Controls. Δηλαδή αυτά, με τα οποία μπορούμε με περισσότερη ευελιξία να αναπαραστήσουμε δεδομένα με τον τρόπο που εμείς θέλουμε τα οποία&amp;nbsp;συνήθως προέρχονται από μια βάση δεδομένων ή άλλα μέσα.&lt;/p&gt;
&lt;p&gt;Έχω δημιουργήσει πέντε παραδείγματα, στα οποία χρησιμοποιώ το control GridView. Κατά τον ίδιο και παρόμοιο τρόπο λειτουργούν και τα υπόλοιπα controls, όπως DataList, DetailsView, FormView κτλ.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Γενικά:&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Για τα παραδείγματα χρησιμοποίησα μια βάση δεδομένων (DataBindingDB) που περιέχετε στο Source Code.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Ένα LINQ to SQL&amp;nbsp;αρχείο (DataBindingDataClasses.dbml) με τα ακόλουθα tables:&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style="PADDING-LEFT:30px;"&gt;&lt;a href="http://exinaris.com/tutorials/data_binding/dbml.png"&gt;&lt;img border="0" alt="Dbml" src="http://exinaris.com/tutorials/data_binding/dbml.png" width="340" height="176" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/DataBinding.zip"&gt;&lt;img border="0" alt="" src="http://www.exinaris.com/tutorials/data_binding/zip_download.png" width="70" height="76" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;1. Αυτόματος ορισμός πηγής δεδομένων:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Σε αυτό και στα ακόλουθα παραδείγματα θα πάρουμε από την βάση τα στοιχεία των χρηστών που βρίσκονται στο table Account καθώς και κάποιες άλλες πληροφορίες στην συνέχεια.&lt;br /&gt;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/ex1_newDataSource.Png"&gt;&lt;img border="0" alt="New Data Source" src="http://www.exinaris.com/tutorials/data_binding/ex1_newDataSource.Png" width="264" height="111" /&gt;&lt;/a&gt;&lt;br /&gt;Δημιουργούμε ένα GridView&amp;nbsp;και επιλέγουμε&lt;br /&gt;από το βελάκι στο control &amp;quot;Choose Data Source&amp;quot;.&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseDataSource.Png"&gt;&lt;img border="0" alt="Choose Data Source" src="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseDataSource.Png" width="251" height="187" /&gt;&lt;/a&gt;&lt;br /&gt;Επιλέγουμε Data Source Type: Linq&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseContext.Png"&gt;&lt;img border="0" alt="Choose Data Context" src="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseContext.Png" width="251" height="187" /&gt;&lt;/a&gt;&lt;br /&gt;Επιλέγουμε το Context Object το οποίο έχει αυτόματα&lt;br /&gt;οριστεί όταν δημιουργήσαμε το .dbml αρχείο&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseData.Png"&gt;&lt;img border="0" alt="Choose Data" src="http://www.exinaris.com/tutorials/data_binding/ex1_ChooseData.Png" width="251" height="187" /&gt;&lt;/a&gt;&lt;br /&gt;Επιλέγουμε τα πεδία από το table που θέλουμε&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Έτσι αν τρέξουμε το project μας έχουμε το παρακάτω αποτέλεσμα:&lt;/p&gt;
&lt;p&gt;&lt;img border="0" alt="Result" src="http://exinaris.com/tutorials/data_binding/ex1_result.png" width="415" height="100" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;2.&amp;nbsp;Bound fields, DataKeyNames, RowCommand, RowDeleting:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&amp;nbsp;Εισάγουμε στην σελίδα μας το παρακάτω GridView:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:849px;HEIGHT:209px;" class="c#" name="code"&gt;       &amp;lt;asp:GridView ID=&amp;quot;GridView1&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;False&amp;quot; DataKeyNames=&amp;quot;UserId&amp;quot;
            onrowcommand=&amp;quot;GridView1_RowCommand&amp;quot; onrowdeleting=&amp;quot;GridView1_RowDeleting&amp;quot;&amp;gt;
            &amp;lt;Columns&amp;gt;
                &amp;lt;asp:BoundField DataField=&amp;quot;FirstName&amp;quot; HeaderText=&amp;quot;FirstName&amp;quot; /&amp;gt;
                &amp;lt;asp:BoundField DataField=&amp;quot;LastName&amp;quot; HeaderText=&amp;quot;LastName&amp;quot; /&amp;gt;
                &amp;lt;asp:BoundField DataField=&amp;quot;Gender&amp;quot; HeaderText=&amp;quot;Gender&amp;quot; /&amp;gt;
                &amp;lt;asp:BoundField DataField=&amp;quot;Telephone&amp;quot; HeaderText=&amp;quot;Telephone&amp;quot; /&amp;gt;
                &amp;lt;asp:ButtonField Text=&amp;quot;More&amp;quot; CommandName=&amp;quot;More&amp;quot;/&amp;gt;
                &amp;lt;asp:CommandField ShowDeleteButton=&amp;quot;True&amp;quot; /&amp;gt;
            &amp;lt;/Columns&amp;gt;
        &amp;lt;/asp:GridView&amp;gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Παρατηρούμε το property &lt;strong&gt;&lt;u&gt;DataKeyNames&lt;/u&gt;&amp;nbsp;&lt;/strong&gt;στο GridView. Με αυτό τον τρόπο&amp;nbsp;έχουμε σε&amp;nbsp;κάθε record&amp;nbsp;του&amp;nbsp;GridView το UserId&amp;nbsp;του χρήστη το οποίο θα το χρησιμοποιήσουμε αργότερα. &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Το &lt;strong&gt;&lt;u&gt;DataField&lt;/u&gt;&lt;/strong&gt; έχει value το &lt;strong&gt;όνομα του column&lt;/strong&gt; όπως εμφανίζεται στην βάση δεδομένων &lt;strong&gt;(*)&lt;/strong&gt;.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Το &lt;strong&gt;&lt;u&gt;ButtonField&lt;/u&gt;&lt;/strong&gt; με &lt;strong&gt;CommandName&lt;/strong&gt;=&amp;quot;More&amp;quot; καλεί το event &lt;font size="2"&gt;&lt;strong&gt;GridView1_RowCommand&lt;/strong&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Το &lt;strong&gt;&lt;u&gt;CommandField&lt;/u&gt;&lt;/strong&gt; που στην περίπτωσή μας έχει το &lt;strong&gt;ShowDeleteButton=&amp;quot;True&amp;quot; &lt;/strong&gt;καλεί το event &lt;strong&gt;GridView1_RowCommand &lt;/strong&gt;με e.CommandName=&amp;quot;Delete&amp;quot; και στη συνέχεια το &lt;font size="2"&gt;&lt;strong&gt;GridView1_RowDeleting&lt;/strong&gt;.&lt;/div&gt;&lt;/li&gt;&lt;/font&gt;&lt;/font&gt;
&lt;li&gt;
&lt;div&gt;Στο &lt;font size="2"&gt;&lt;u&gt;Page_Load&lt;/u&gt; της σελίδας&amp;nbsp;ανακτούμε τους χρήστες από την βάση.με τον ακόλουθο τρόπο:&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;textarea style="WIDTH:849px;HEIGHT:400px;" class="c#" name="code"&gt;    protected void Page_Load(object sender, EventArgs e)
    {
        DataBindingDataClassesDataContext db = new DataBindingDataClassesDataContext();

        var users = from u in db.Accounts
                    select u;

        GridView1.DataSource = users;
        GridView1.DataBind();
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        ;
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int index = Convert.ToInt32(e.CommandArgument);
        string keyname = ((GridView)sender).DataKeys[index].Value.ToString();
        Guid userGuid = new Guid(keyname);
        if (e.CommandName == &amp;quot;More&amp;quot;)
        {
            ;
        }
    }&lt;/textarea&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;(*) &lt;/strong&gt;Αν θέλουμε να αποφύγουμε το value του &lt;strong&gt;DataField&lt;/strong&gt; να είναι το ίδιο με το όνομα του column στη βάση (αυτό θα βοηθήσει και στην περίπτωση που&amp;nbsp;έχουμε ίδια ονόματα σε column διαφορετικών tables που θα πάρουμε τα δεδομένα) τότε π.χ. έχουμε:&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;BoundField&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;DataField&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;name_of_user&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;HeaderText&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Firstname&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;και στον κώδικα:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;textarea style="WIDTH:849px;HEIGHT:211px;" class="c#" name="code"&gt;    protected void Page_Load(object sender, EventArgs e)
    {
        DataBindingDataClassesDataContext db = new DataBindingDataClassesDataContext();

        var users = from u in db.Accounts
                    select new { name_of_user = u.FirstName, surname = u.LastName, gender = u.Gender, telephone = u.Telephone, UserId = u.UserId };

        GridView1.DataSource = users;
        GridView1.DataBind();
    }&lt;/textarea&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;img border="0" alt="" src="http://exinaris.com/tutorials/data_binding/ex2_result.png" width="411" height="99" /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;3.&amp;nbsp;TemplateFields:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;Εισάγουμε το παρακάτω GridView.&amp;nbsp;Τώρα&amp;nbsp;έχουμε μόνο ένα Column με ένα &lt;strong&gt;TemplateField&lt;/strong&gt; όπου μέσα μπορούμε να τοποθετήσουμε οποιοδήποτε server-side control θέλουμε ή html, δίνοντας έτσι την συγκεριμένη εμφάνιση/μορφή που θέλουμε στο GridView.&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:310px;" class="c#" name="code"&gt;       &amp;lt;asp:GridView ID=&amp;quot;GridView1&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;False&amp;quot; DataKeyNames=&amp;quot;UserId&amp;quot;&amp;gt;
            &amp;lt;Columns&amp;gt;
                &amp;lt;asp:TemplateField&amp;gt;
                    &amp;lt;ItemTemplate&amp;gt;
                        &amp;lt;table style=&amp;quot;font-family:Calibri; font-size:small&amp;quot;&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td colspan=&amp;quot;4&amp;quot; style=&amp;quot;font-size:medium; font-weight:bold&amp;quot;&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;firsnameLastnameLabel&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;firsnameLastname&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td class=&amp;quot;leftTextStyle&amp;quot;&amp;gt;
                                    UserName:
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td style=&amp;quot;width:100px&amp;quot;&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;userNameLabel&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;UserName&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td class=&amp;quot;leftTextStyle&amp;quot;&amp;gt;
                                    Gender:
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td style=&amp;quot;width:100px&amp;quot;&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;genderLabel&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;gender&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td class=&amp;quot;leftTextStyle&amp;quot;&amp;gt;
                                    Email:
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;emailLabel&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;email&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td class=&amp;quot;leftTextStyle&amp;quot;&amp;gt;
                                    Telephone:
                                &amp;lt;/td&amp;gt;
                                &amp;lt;td&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;Label1&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;telephone&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td colspan=&amp;quot;4&amp;quot;&amp;gt;
                                    &amp;amp;nbsp;
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                        &amp;lt;/table&amp;gt;
                    &amp;lt;/ItemTemplate&amp;gt;
                &amp;lt;/asp:TemplateField&amp;gt;
            &amp;lt;/Columns&amp;gt;
        &amp;lt;/asp:GridView&amp;gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;Κατα τον ίδιο τρόπο με το προηγούμενο παράδειγμα στο event &lt;strong&gt;Page_Load&lt;/strong&gt;:&lt;/p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:223px;" class="c#" name="code"&gt;protected void Page_Load(object sender, EventArgs e)
    {
        DataBindingDataClassesDataContext db = new DataBindingDataClassesDataContext();

        var users = from u in db.Accounts
                    select new { firsnameLastname = u.FirstName + &amp;quot; &amp;quot; + u.LastName ,UserName = u.aspnet_User.UserName, email = u.aspnet_User.aspnet_Membership.Email, surname = u.LastName, gender = u.Gender, telephone = u.Telephone, UserId = u.UserId };

        GridView1.DataSource = users;
        GridView1.DataBind();
    }&lt;/textarea&gt; 
&lt;p&gt;&lt;img border="0" alt="Example 3 Result" src="http://www.exinaris.com/tutorials/data_binding/ex3_result.png" width="427" height="258" /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;4.&amp;nbsp;DataTable, Call function from GridView:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;Στα προηγούμενα παραδείγματα είδαμε ότι &lt;strong&gt;Gender&lt;/strong&gt; εμφανίζεται ως True/False γιατί στην βάση μας είναι ορισμένο ως bit. Άρα θέλουμε ένα τρόπο έτσι ώστε να &amp;quot;πειράξουμε&amp;quot; το Gender πριν να θέσουμε το &lt;strong&gt;DataSource&lt;/strong&gt; του &lt;strong&gt;GridView&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:223px;" class="c#" name="code"&gt;    private void LoadContent()
    {
        DataBindingDataClassesDataContext db = new DataBindingDataClassesDataContext();

        DataTable usersTable = getUsersTable();

        var users = from u in db.Accounts
                    orderby u.aspnet_User.UserName ascending
                    select u;

        foreach (var user in users)
        {
            string gender = &amp;quot;&amp;quot;;
            if (user.Gender == true)
                gender = &amp;quot;Female&amp;quot;;
            else
                gender = &amp;quot;Male&amp;quot;;

            usersTable.Rows.Add(user.UserId, user.FirstName + &amp;quot; &amp;quot; + user.LastName, user.aspnet_User.UserName, user.aspnet_User.aspnet_Membership.Email, gender, user.Telephone);
        }

        GridView1.DataSource = usersTable;
        GridView1.DataBind();
    }

    private DataTable getUsersTable()
    {
        DataTable table = new DataTable();
        table.Columns.Add(&amp;quot;UserId&amp;quot;, typeof(string));
        table.Columns.Add(&amp;quot;firsnameLastname&amp;quot;, typeof(string));
        table.Columns.Add(&amp;quot;UserName&amp;quot;, typeof(string));
        table.Columns.Add(&amp;quot;email&amp;quot;, typeof(string));
        table.Columns.Add(&amp;quot;gender&amp;quot;, typeof(string));
        table.Columns.Add(&amp;quot;telephone&amp;quot;, typeof(string));
        return table;
    }&lt;/textarea&gt;&lt;/p&gt;Επίσης θέλουμε να προσθέσουμε ένα &lt;strong&gt;Image&lt;/strong&gt; στο &lt;strong&gt;GridView&lt;/strong&gt; που να ξεχωρίζει το φύλο των χρηστών. Έτσι έχουμε αυτό το control μέσα σε ένα TemplateField:&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Image&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;genderImage&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ImageUrl&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;#39;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;lt;%# GetImage(DataBinder.Eval(Container.DataItem, &amp;quot;gender&amp;quot;)) %&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;#39;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;και την παρακάτω συνάρτηση:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:186px;" class="c#" name="code"&gt;    public static string GetImage(object DisplayText)
    {
        if (DisplayText.ToString() == &amp;quot;Female&amp;quot;)
        {
            return &amp;quot;~/images/female.png&amp;quot;;
        }
        else
        {
            return &amp;quot;~/images/male.png&amp;quot;;
        }
    }&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;Άν ορίσουμε Paging στο GridView:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:111px;" class="c#" name="code"&gt;    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        LoadContent();
    }&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&lt;img border="0" alt="Example 4 result" src="http://www.exinaris.com/tutorials/data_binding/ex4_result.png" width="495" height="306" /&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#000000" size="3"&gt;
&lt;p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;5.&amp;nbsp;Gridview&amp;nbsp;in Gridview and more:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;Υπάρχουν περιπτώσεις που μέσα σε ένα GridView πρέπει να τοποθετήσουμε άλλο GridView ή άλλα server-side controls. Σε ένα cell του 3ου παραδείγματος τοποθετούμε το παρακάτω GridView:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:213px;" class="c#" name="code"&gt;        &amp;lt;asp:GridView ID=&amp;quot;languagesGridView&amp;quot; runat=&amp;quot;server&amp;quot; AutoGenerateColumns=&amp;quot;False&amp;quot; DataKeyNames=&amp;quot;langId&amp;quot;
            OnRowDataBound=&amp;quot;languagesGridView_RowDataBound&amp;quot;&amp;gt;
            &amp;lt;Columns&amp;gt;
                &amp;lt;asp:TemplateField&amp;gt;
                    &amp;lt;ItemTemplate&amp;gt;
                        &amp;lt;table style=&amp;quot;width: 100%&amp;quot;&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td&amp;gt;
                                    &amp;lt;asp:Label ID=&amp;quot;langName&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%# Eval(&amp;quot;langName&amp;quot;) %&amp;gt;&amp;#39; /&amp;gt;
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                        &amp;lt;/table&amp;gt;
                    &amp;lt;/ItemTemplate&amp;gt;
                    &amp;lt;HeaderTemplate&amp;gt;
                        &amp;lt;table style=&amp;quot;width: 100%&amp;quot;&amp;gt;
                            &amp;lt;tr&amp;gt;
                                &amp;lt;td&amp;gt;
                                    Language
                                &amp;lt;/td&amp;gt;
                            &amp;lt;/tr&amp;gt;
                        &amp;lt;/table&amp;gt;
                    &amp;lt;/HeaderTemplate&amp;gt;
                &amp;lt;/asp:TemplateField&amp;gt;
            &amp;lt;/Columns&amp;gt;
        &amp;lt;/asp:GridView&amp;gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;Γενικά χρησιμοποιούμε το event &lt;font size="2"&gt;&lt;strong&gt;RowDataBound&lt;/strong&gt; για να ρυθμίσουμε εσωτερικά controls:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:213px;" class="c#" name="code"&gt;    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            GridView languages = (GridView)e.Row.FindControl(&amp;quot;languagesGridView&amp;quot;);
            Guid userGuid = new Guid((DataBinder.Eval(e.Row.DataItem, &amp;quot;UserId&amp;quot;)).ToString());

            DataBindingDataClassesDataContext db =new DataBindingDataClassesDataContext();

            var usersInLanguages = from u in db.UserInLanguages
                                   where (u.UserId == userGuid)
                                   select new { langId = u.Language, langName = u.ProgrLanguage.languageName };

            languages.DataSource = usersInLanguages;
            languages.DataBind();
        }
    }&lt;/textarea&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Πώς μπορούμε να έχουμε access από το εσωτερικό GridView σε controls που βρίσκονται στο εξωτερικό GridView:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;textarea style="WIDTH:1085px;HEIGHT:199px;" class="c#" name="code"&gt;    protected void languagesGridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        Control c = (Control)sender;
        c = (c.Parent).Parent;

        GridViewRow parentGridViewRow = (GridViewRow)c;

        Label messageLabel = (Label)parentGridViewRow.FindControl(&amp;quot;messageLabel&amp;quot;);
        // do things
        messageLabel.Text = &amp;quot;Updated&amp;quot;;
    }&lt;/textarea&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;a href="http://www.exinaris.com/tutorials/data_binding/ex5_result.png"&gt;&lt;img border="0" alt="" src="http://www.exinaris.com/tutorials/data_binding/ex5_result.png" width="248" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=111070&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="asp .net" scheme="http://studentguru.gr/b/xinarisc/archive/tags/asp+-net/default.aspx" /><category term="data binding" scheme="http://studentguru.gr/b/xinarisc/archive/tags/data+binding/default.aspx" /></entry><entry><title>Generate a Captcha - Image Verification (ASP.NET, C#)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/01/31/generate-a-captcha-in-asp-net-c.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/01/31/generate-a-captcha-in-asp-net-c.aspx</id><published>2010-01-31T13:22:00Z</published><updated>2010-01-31T13:22:00Z</updated><content type="html">&lt;p&gt;Ένα&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/CAPTCHA"&gt;CAPTCHA&lt;/a&gt; συνήθως αποτελείται από&amp;nbsp;μια εικόνα&amp;nbsp;στην&amp;nbsp;οποία απεικονίζεται&amp;nbsp;ένα&amp;nbsp;κείμενο, και ο χρήστης καλείται να πληκτρολογήσει το κείμενο που βλέπει στην εικόνα. Χρησιμοποιείται&amp;nbsp;σε Login forms,&amp;nbsp;Register&amp;nbsp;forms, User Comments&amp;nbsp;ή σε οποιαδήποτε άλλη περίπτωση θέλουμε να ξεχωρίσουμε ένα πραγματικό χρήστη από ένα bot/υπολογιστή. Με την χρήση αυτή αποφεύγουμε για παράδειγμα τις πολλαπλές επερωτήσεις στην βάση μας στην&amp;nbsp;περίπτωση ενός Login form.&amp;nbsp;Αυτό προσφέρει σαφώς&amp;nbsp;μεγαλύτερη ασφάλεια στο σύστημα μας, αλλά θα πρέπει να αναφέρουμε&amp;nbsp;ότι υπάρχουν εξελιγμένοι αλγόριθμοι (Image Recognition/Text Recognition algorithms)&amp;nbsp;που μπορούν να&amp;nbsp;αποσπάσουν το κείμενο από την εικόνα.&lt;/p&gt;
&lt;p&gt;Στο διαδίκτυο υπάρχουν πάρα πολλά έτοιμα&amp;nbsp;Captcha&amp;nbsp;από διάφορες εταιρίες που&amp;nbsp;μπορείς να τοποθετήσεις στο site&amp;nbsp;σου&amp;nbsp;αλλά συνήθως ξεχωρίζουν στη σελίδα με υπερβολικά χρώματα&amp;nbsp;και&amp;nbsp;μεγάλα logos. Γι&amp;#39; αυτό πάντα προτιμώ τα self-made που είναι&amp;nbsp;customizable:P (άσχετα αν είναι πετυχημένα στο design ή όχι). Έχω υλοποιήσει σε C# την δημιουργία ενός σχετικά&amp;nbsp;απλού Captcha&amp;nbsp;σε&amp;nbsp;ένα&amp;nbsp;&amp;lt;asp:Login /&amp;gt;&amp;nbsp;control&amp;nbsp;και εξηγώ τα βήματα&amp;nbsp;που ακολούθησα. Τα backgrounds και τo text δεν είναι και τόσο αισθητικά ωραία, αλλά&amp;nbsp;λόγω έλλειψης χρόνου θα αρκεστώ σε αυτά που βρήκα στο διαδίκτυο.&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Τελικό αποτέλεσμα:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;a href="http://exinaris.com/tutorials/captcha_aspnet/captchas.jpg"&gt;&lt;img border="0" alt="Captchas" src="http://exinaris.com/tutorials/captcha_aspnet/captchas.jpg" width="465" height="93" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/tutorials/captcha_aspnet/captcha_aspnet_website.zip"&gt;Example Project&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Γενική ιδέα:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Σε ένα folder στο project μας έχουμε τα background images των captcha που θέλουμε να χρησιμοποιήσουμε. Επιλέγουμε τυχαία ένα από αυτά και γράφουμε πάνω του ένα random string το οποίο μπορεί να είναι αριθμοί, γράμματα, σύμβολα ή συνδυασμός τους.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Κρυπτογραφούμε (π.χ.&amp;nbsp;με md5)&amp;nbsp;το random string&amp;nbsp;και το τοποθετούμε σε&amp;nbsp;ένα Session Variable.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Από&amp;nbsp;τη φόρμα που χρησιμοποιούμε τελικά το Captcha, κρυπτογραφούμε το κείμενο που έδωσε ο χρήστης και το συγκρίνουμε με αυτό που βρίσκεται στο Session. Αν οι δύο τιμές δεν είναι ίσες τότε διακόπτουμε την ενέργεια του χρήστη.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;FONT-SIZE:small;"&gt;&lt;strong&gt;Βήματα:&lt;/strong&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;1.&lt;/strong&gt;&amp;nbsp;&amp;nbsp;Δημιουργούμε μια νέα .aspx σελίδα, δεξί click στο project μας, Αdd New Item -&amp;gt; Web Form (&lt;font color="#0000ff" size="2"&gt;&amp;#39;getRandomImage.aspx&amp;#39;)&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;Σε ένα folder έχουμε τοποθετήσει τα background images. (Έχω χρησιμοποιήσει .jpg&amp;nbsp;60x30px με ονόματα background1.jpg, background2.jpg, background3.jpg, background4.jpg). Στο &lt;strong&gt;&lt;em&gt;Page_Load&lt;/em&gt;&lt;/strong&gt; χρησιμοποιούμε τον παρακάτω κώδικα τον οποίο εξηγώ σε σχόλια όπου χρειάζεται.&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:849px;HEIGHT:427px;" class="c#" name="code"&gt;        // Get a random integer from RandomNumber(int min, int max) method
        Random random = new Random();
        int ImageNum = RandomNumber(1, 5); // (1-max number of background images)

        // Select Background Image
        string filename = Server.MapPath(&amp;quot;images/background&amp;quot; +ImageNum + &amp;quot;.jpg&amp;quot;);
        
        // Load image
        Bitmap bitMapImage = new System.Drawing.Bitmap(filename);
        Graphics graphicImage = Graphics.FromImage(bitMapImage);

        // Get random string from RandomString(int sizeOfString) method
        string textToWrite = RandomString(5);

        // Write text on image
        graphicImage.DrawString(textToWrite, new Font(&amp;quot;Arial&amp;quot;, 12, FontStyle.Bold),
           SystemBrushes.WindowText, new Point(0, 5));

        // Encode random string and save the cipher text to a session variable
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] pass = Encoding.UTF8.GetBytes(textToWrite);
        Session[&amp;quot;captchavalue&amp;quot;] = Encoding.UTF8.GetString(md5.ComputeHash(pass));
        
        
        System.IO.MemoryStream mstr = new System.IO.MemoryStream();
        // Save the image
        bitMapImage.Save(mstr, ImageFormat.Jpeg);

        // Set the content type
        Response.ContentType = &amp;quot;image/jpeg&amp;quot;; 
        // Write image
        Response.BinaryWrite((byte[])(mstr).ToArray());

        //Clean
        graphicImage.Dispose();
        bitMapImage.Dispose();&lt;/textarea&gt; &lt;/p&gt;
&lt;p&gt;Οι συναρτήσεις για την δημιουργία τυχαίων ακεραίων και συμβολοσειρών:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:849px;HEIGHT:357px;" class="c#" name="code"&gt;    private int RandomNumber(int min, int max)
    {
        Random random = new Random();
        return random.Next(min, max); // max is exclusive
    }

    private string RandomString(int size)
    {
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        double thisdouble = random.NextDouble();
        char ch;
        // You should see the ascii table to understand the attribute value for the Convert method
        for (int i = 0; i &amp;lt; size; i++)
        {
            ch = Convert.ToChar(Convert.ToInt32(Math.Floor(74 * random.NextDouble() + 48)));
            builder.Append(ch);
        }
        return builder.ToString();
    }&lt;/textarea&gt;&lt;/p&gt;&lt;u&gt;&lt;strong&gt;2.&lt;/strong&gt; Στην default .aspx σελίδα που έχουμε π.χ. το login control, τοποθετούμε ένα textbox και ένα image&lt;/u&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;TextBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;captchaTextBox&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Height&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;22px&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Width&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;97px&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;TextBox&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Image&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;imgSaved&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ImageUrl&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;getRandomImage.aspx&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;AlternateText&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;Random Image&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;u&gt;&lt;strong&gt;3.&lt;/strong&gt; Στο .cs αρχείο της default σελίδας, στο &lt;font size="2"&gt;&lt;strong&gt;&lt;em&gt;Login1_LoggingIn &lt;/em&gt;&lt;/strong&gt;event τοποθετούμε τον εξής κώδικα:&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;textarea style="WIDTH:849px;HEIGHT:262px;" class="c#" name="code"&gt;        // Get user text
        string userInput = ((TextBox)((Login)LoginView1.FindControl(&amp;quot;Login1&amp;quot;)).FindControl
                (&amp;quot;captchaTextBox&amp;quot;)).Text;
        
        // Encode user text
        MD5 md5 = new MD5CryptoServiceProvider();
        byte[] pass = Encoding.UTF8.GetBytes(userInput);
        string userInputVal = Encoding.UTF8.GetString(md5.ComputeHash(pass));

        // Retrieve the cipher Captcha text from the session variable named &amp;quot;captchavalue&amp;quot;
        string captchaVal = Session[&amp;quot;captchavalue&amp;quot;].ToString();
      
        // Compare the two strings
        if (String.Compare(captchaVal,userInputVal) != 0)
            e.Cancel = true; // Stop the LoggingIn action&lt;/textarea&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=110087&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="c#" scheme="http://studentguru.gr/b/xinarisc/archive/tags/c_2300_/default.aspx" /><category term="captcha" scheme="http://studentguru.gr/b/xinarisc/archive/tags/captcha/default.aspx" /><category term="image verification" scheme="http://studentguru.gr/b/xinarisc/archive/tags/image+verification/default.aspx" /><category term="md5" scheme="http://studentguru.gr/b/xinarisc/archive/tags/md5/default.aspx" /><category term="session" scheme="http://studentguru.gr/b/xinarisc/archive/tags/session/default.aspx" /></entry><entry><title>JavaScript with ASP .NET</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/01/17/javascript-with-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/01/17/javascript-with-asp-net.aspx</id><published>2010-01-17T10:07:00Z</published><updated>2010-01-17T10:07:00Z</updated><content type="html">&lt;p&gt;Η χρήση κώδικα JavaScript&amp;nbsp;σε μια σελίδα ASP .NET&amp;nbsp;δεν είναι και τόσο εύκολη υπόθεση&amp;nbsp;σε μερικές περιπτώσεις.&amp;nbsp;Θα προσπαθήσω να&amp;nbsp;καταγράψω τις λύσεις σε&amp;nbsp;βασικά προβλήματα που συναντά κάποιος όταν ασχοληθεί με το συγκεκριμένο θέμα. &lt;/p&gt;
&lt;table style="WIDTH:100%;"&gt;

&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;BACKGROUND-COLOR:#8bb3d5;" colspan="2"&gt;
&lt;p&gt;&lt;em&gt;Include ενός JavaScript αρχείου σε MasterPage&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&lt;p&gt;Το Πρόβλημα: Έστω ότι έχουμε αυτή την δομή αρχείων και καταλόγων στο project μας:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;a href="http://studentguru.gr/blogs/xinarisc/project_structure.png"&gt;&lt;img border="0" src="http://studentguru.gr/blogs/xinarisc/project_structure.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Στο αρχείο myscript.js&amp;nbsp;έχουμε μια συνάρτηση που θέλουμε να την καλούμε από τις σελίδες&amp;nbsp;MasterPage.master, Default.aspx&amp;nbsp;και users.aspx.&amp;nbsp;Στο MasterPage&amp;nbsp;λοιπόν κάνουμε include&amp;nbsp;με τον συνήθη τρόπο το JavaScript&amp;nbsp;αρχείο:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;scripts/myscript.js&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;Η&amp;nbsp;κλήση της συνάρτησης στο myscript.js από το MasterPage.master&amp;nbsp;και Default.aspx γίνεται επιτυχώς αλλά από το users.aspx αποτυγχάνει. Ο λόγος που συμβαίνει αυτό είναι γιατί το myscript.js (για την σελίδα users.aspx)&amp;nbsp;δεν βρίσκεται πλέον στον κατάλογο &lt;font color="#0000ff" size="2"&gt;scripts/myscript.js&lt;/font&gt;&amp;nbsp;αλλά στον&amp;nbsp; &lt;font color="#0000ff" size="2"&gt;../scripts/myscript.js&lt;/font&gt;. Άρα καταλήγουμε στο συμπέρασμα ότι το πρόβλημα βρίσκεται στο path του .js αρχείου και της&amp;nbsp;αδυναμίας να ορίσουμε τον αρχικό κατάλογο σε JavaScript.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Λύσεις:&lt;/u&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Το src να είναι url address στα .js αρχεία που έχουμε ανεβάσει σε κάποιο server. π.χ. &lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515"&gt;&lt;font color="#a31515"&gt;script&lt;/font&gt;&lt;/font&gt; &lt;font color="#ff0000"&gt;&lt;font color="#ff0000"&gt;src&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&amp;quot;http://studentguru.gr/blogs/xinarisc/scripts/myscript.js&amp;quot;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ff0000"&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;&lt;font color="#a31515"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;Χρήση του&amp;nbsp;&lt;strong&gt;&lt;em&gt;HtmlGenericControl &lt;/em&gt;&lt;/strong&gt;(Δημιουργία server-side control που κάνει mapping σε ένα στοιχείο HTML όπως το &amp;lt;head&amp;gt;:&lt;/li&gt;&lt;/ul&gt;&lt;textarea style="WIDTH:910px;HEIGHT:160px;" class="c#" name="code"&gt;    protected void Page_Load(object sender, EventArgs e)
    {
        HtmlGenericControl myJs = new HtmlGenericControl();
        myJs.TagName = &amp;quot;script&amp;quot;;
        myJs.Attributes.Add(&amp;quot;type&amp;quot;, &amp;quot;text/javascript&amp;quot;);
        myJs.Attributes.Add(&amp;quot;language&amp;quot;, &amp;quot;javascript&amp;quot;);
        myJs.Attributes.Add(&amp;quot;src&amp;quot;,
        ResolveUrl(&amp;quot;~/scripts/myscript.js&amp;quot;));
        this.Page.Header.Controls.Add(myJs);
    }&lt;/textarea&gt; 
&lt;ul&gt;
&lt;li&gt;Χρήση του&amp;nbsp;&lt;strong&gt;&lt;em&gt;LiteralControl&amp;nbsp;&lt;/em&gt;&lt;/strong&gt;(Thanks to &lt;a href="http://studentguru.gr/blogs/djsolid/"&gt;djsolid&lt;/a&gt;&amp;#39;s feedback)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;textarea style="WIDTH:908px;HEIGHT:103px;" class="c#" name="code"&gt;    protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Header.Controls.Add(new LiteralControl(&amp;quot;&amp;lt;script src=&amp;quot; + ResolveUrl(&amp;quot;~/scripts/myscript.js&amp;quot;) + 
            _&amp;quot; type=&amp;#39;text/javascript&amp;#39;&amp;gt;&amp;lt;/script&amp;gt;&amp;quot;));
    }&lt;/textarea&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Register Script on Page_Load&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;textarea style="WIDTH:908px;HEIGHT:89px;" class="c#" name="code"&gt;    protected void Page_Load(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterClientScriptInclude(&amp;quot;MyScript&amp;quot;,&amp;quot;~/scripts/myscript.js&amp;quot;)
    }&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;BACKGROUND-COLOR:#8bb3d5;" colspan="2"&gt;
&lt;p&gt;&lt;em&gt;Κλήση&amp;nbsp;ή ενσωμάτωση&amp;nbsp;μιας JavaScript συνάρτησης από server-side κώδικα&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&lt;p&gt;Οι δύο κύριες μέθοδοι που χρησιμοποιήσουμε για&amp;nbsp;να το πετύχουμε αυτό είναι η&amp;nbsp;&lt;strong&gt;&lt;em&gt;RegisterStartupScript&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;και η&amp;nbsp;&lt;strong&gt;&lt;em&gt;RegisterClientScriptBlock&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Για παράδειγμα θέλουμε να ενσωματώσουμε την συνάρτηση AlertHello() στην σελίδα μας:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:901px;HEIGHT:85px;" class="c#" name="code"&gt;   protected void Page_Load(object sender, EventArgs e)
   {
      Page.ClientScript.RegisterStartupScript(&amp;quot;MyScript&amp;quot;, &amp;quot;&amp;lt;script language=javascript&amp;gt;&amp;quot; &amp;amp; &amp;quot;function 
          _AlertHello() { alert(&amp;#39;Hello ASP.NET&amp;#39;); }&amp;lt;/script&amp;gt;&amp;quot;)
   }&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;Ή έχουμε ήδη δηλωμένη την συνάρτηση στην .aspx σελίδα μας &lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:886px;HEIGHT:212px;" class="js" name="code"&gt;      function switchMenu(task) {
            var el = document.getElementById(&amp;quot;ctl00_ContentPlaceHolder1_Div1 &amp;quot;);
            var el2 = document.getElementById (&amp;#39;&amp;lt;%=category.ClientID %&amp;gt;&amp;#39;);;
            if (task == &amp;quot;hide&amp;quot;) {
                el.style.display = &amp;#39;none&amp;#39;;
                el2.style.display = &amp;#39;none&amp;#39;;
            }
            if (task == &amp;quot;show&amp;quot;) {
                el.style.display = &amp;#39;&amp;#39;;
                el2.style.display = &amp;#39;&amp;#39;;
            }
        }&lt;/textarea&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;και θέλουμε να την καλέσουμε:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:888px;HEIGHT:239px;" class="c#" name="code"&gt;        ClientScriptManager csm = Page.ClientScript;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        if (User.Identity.IsAuthenticated == false)
        {
            sb.Append(@&amp;quot;&amp;lt;script language=&amp;#39;javascript&amp;#39;&amp;gt;&amp;quot;);
            sb.Append(@&amp;quot;switchMenu(&amp;#39;hide&amp;#39;);&amp;quot;);
            sb.Append(@&amp;quot;&amp;lt;&amp;quot;);
            sb.Append(@&amp;quot;/script&amp;gt;&amp;quot;);
        }
        if (!csm.IsStartupScriptRegistered(&amp;quot;LeftPanScript&amp;quot;))
        {
            csm.RegisterStartupScript(this.GetType(), &amp;quot;LeftPanScript&amp;quot;, sb.ToString());
        }
&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;Τελικά η&amp;nbsp;κύρια διαφορά μεταξύ των&amp;nbsp;&lt;strong&gt;&lt;em&gt;RegisterStartupScript&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;και η&amp;nbsp;&lt;strong&gt;&lt;em&gt;RegisterClientScriptBlock &lt;/em&gt;&lt;/strong&gt;είναι ότι το&amp;nbsp;πρώτο ενσωματώνει τον κώδικα JavaScript στο τέλος της ASP .NET σελίδας ακριβώς πρίν το closing tag &amp;lt;/form&amp;gt;, ενώ το δεύτερο ενσωματώνει τον κώδικα JavaScript στην αρχή της ASP .NET&amp;nbsp;σελίδας, αρκιβώς μετά το opening tag &amp;lt;form&amp;gt;.&lt;/p&gt;
&lt;p&gt;Η ανάθεση της κλήσης μιας&amp;nbsp;JavaScript&amp;nbsp;συνάρτησης από ένα asp .net control π.χ. ενός button on Page_Load:&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-no-proof:yes;"&gt;cancelRenameButton.Attributes.Add(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;onclick&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#a31515;"&gt;&amp;quot;BLOCKED SCRIPTreturn HideRenameCategoryDiv()&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-no-proof:yes;"&gt;&lt;font size="3" face="Arial"&gt;ή αν το control&amp;nbsp;βρίσκεται μέσα σε ένα άλλο control:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-no-proof:yes;"&gt;((&lt;span style="COLOR:#2b91af;"&gt;Button&lt;/span&gt;)LoginView1.FindControl(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;cancelRenameButton&amp;quot;&lt;/span&gt;)).Attributes.Add(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;onclick&amp;quot;&lt;/span&gt;, &lt;span style="COLOR:#a31515;"&gt;&amp;quot;BLOCKED SCRIPTreturn HideRenameCategoryDiv()&amp;quot;&lt;/span&gt;);&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;font size="3" face="Arial"&gt;ή από το&amp;nbsp;&lt;strong&gt;&lt;em&gt;onClientClick&amp;nbsp;&lt;/em&gt;&lt;/strong&gt;του&amp;nbsp;control.&amp;nbsp;&lt;/font&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:#a31515;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;asp&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;:&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:#a31515;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Button&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;span style="COLOR:red;"&gt;ID&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;btnContent&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;runat&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;Text&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;Button&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;OnClientClick&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;HideRenameCategoryDiv();&amp;quot;&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;font size="3" face="Arial"&gt;ή κατευθείαν στα controls της html βάζοντας runat=&amp;quot;server&amp;quot;&amp;nbsp;για να γίνουν&amp;nbsp;server-side controls (Thanks to &lt;a href="http://www.studentguru.gr/blogs/solidus/"&gt;solidus&lt;/a&gt;&amp;#39;s feedback)&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;font size="3" face="Arial"&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:blue;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:#a31515;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;input&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;font color="#ff0000"&gt;id&lt;/font&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;btnContent&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;runat&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;type&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span style="COLOR:red;"&gt;onclick&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;HideRenameCategoryDiv()&amp;quot;&lt;/span&gt; &lt;span style="COLOR:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:Symbol;FONT-SIZE:9pt;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&lt;font size="3" face="Arial"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="BORDER-BOTTOM:#284e8b thin solid;BACKGROUND-COLOR:#8bb3d5;" colspan="2"&gt;
&lt;p&gt;&lt;em&gt;Κλήση μιας JavaScript συνάρτησης σε ASP.NET AJAX&amp;nbsp;enabled&amp;nbsp;σελίδα από server-side κώδικα&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&lt;p&gt;Αν προσπαθήσουμε να κάνουμε register ένα script με τις προηγούμενες μεθόδους&amp;nbsp;από συνάρτηση που χρησιμοποιείται από update panel δεν θα λειτουργήσει. Σε αυτή την περίπτωση πρέπει να χρησιμοποιήσουμε το ScriptManager για να κάνουμε register ένα script.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;textarea style="WIDTH:848px;HEIGHT:145px;" class="c#" name="code"&gt;        ClientScriptManager csm = Page.ClientScript;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
    
        sb.Append(@&amp;quot;openChatConversationWindow(&amp;quot; + chat.reqId + &amp;quot;);&amp;quot;);
       
        ScriptManager.RegisterStartupScript(ChatUpdatePanel, ChatUpdatePanel.GetType(), 
              _Guid.NewGuid().ToString(), sb.ToString(), true);

&lt;/textarea&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=109904&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="asp .net" scheme="http://studentguru.gr/b/xinarisc/archive/tags/asp+-net/default.aspx" /><category term="javascript" scheme="http://studentguru.gr/b/xinarisc/archive/tags/javascript/default.aspx" /></entry><entry><title>Instant Messaging (Chat) without page refresh in ASP .net</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2010/01/12/chat-without-page-refresh-in-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2010/01/12/chat-without-page-refresh-in-asp-net.aspx</id><published>2010-01-12T15:51:00Z</published><updated>2010-01-12T15:51:00Z</updated><content type="html">&lt;p&gt;Σε συνέχεια του προηγούμενου post για τους online users, επεκτείνω τον κώδικα για να δείξω πώς μπορούμε να υλοποιήσουμε ένα αρκετά απλό&amp;nbsp;(server side)&amp;nbsp;chat engine.&lt;/p&gt;
&lt;p&gt;Στο υλικό που βρήκα&amp;nbsp;ψάχνοντας στο διαδίκτυο&amp;nbsp;αναφέρονται αρκετοί τρόποι και παραδείγματα για την υλοποίηση ενός chat σε ASP .NET.&amp;nbsp;Όμως, τα περισσότερα από αυτά είναι πολύπλοκα και χρονοβόρα στην μελέτη τους. Ένας απλός τρόπος, ο οποίος δεν απαιτεί refresh/reload της σελίδας και όλα φαίνονται καλά στα μάτια του χρήστη (με το μειονέκτημα των συχνών&amp;nbsp;επερωτήσεων στην βάση δεδομένων) εξηγείται πιο κάτω.&lt;/p&gt;
&lt;p&gt;Το παράδειγμα αφορά ένα chatroom και μπορεί εύκολα να επεκταθεί για πολλαπλά chatrooms ή για&amp;nbsp;private chatting&amp;nbsp;μεταξύ δύο χρηστών.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ONLINE DEMO: &lt;/strong&gt;&lt;a href="http://www.exinaris.com/demos/chat/chat.aspx"&gt;&lt;strong&gt;εδώ&lt;/strong&gt;&lt;/a&gt; (Δοκιμάστε με δύο διαφορετικούς browser ταυτόχρονα για να γίνει ένα υποτιπώδες chat) 
&lt;p&gt;&lt;a href="http://www.exinaris.com/demos/chat/chat.aspx" target="_blank"&gt;&lt;img border="0" alt="" src="http://www.exinaris.com/tutorials/chat/chat_screenshot.jpg" width="475" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;1. Δημιουργούμε τον ακόλουθο πίνακα στην βάση μας:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/ChatMessagesTable.jpg"&gt;&lt;img border="0" src="http://www.studentguru.gr/blogs/xinarisc/ChatMessagesTable.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. Δημιουργούμε μια νέα .aspx σελίδα και σε αυτή τοποθετούμε τα ακόλουθα:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Ένα textbox στο οποίο&amp;nbsp;θα γράφει ο χρήστης το μήνυμα του (newMessageTextBox) και ένα button για την αποστολή του μηνύματος (sendButton)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Ένα &amp;lt;asp:BoundField /&amp;gt; το οποίο βρίσκεται μέσα σε ένα GridView (messagesGridView),&amp;nbsp;στο οποίο θα κάνουμε bind τα μηνύματα &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Ένα listbox στο οποίο θα εμφανίζονται οι online users (usersInChatListBox)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Ένα timer που ορίζουμε εμείς όσο θέλουμε το interval (ChatTextTimer) π.χ.&amp;nbsp;κάθε 1 δευτερόλεπτο&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Τοποθετούμε το messagesGridView και το usersInChatListBox μέσα σε Update Panels για να πετύχουμε την ανανέωση των δεδομένων χωρίς να γίνεται refresh/reload η σελίδα και βάζουμε triggers στα&amp;nbsp;πιο πάνω&amp;nbsp;controls. Δηλαδή εμείς θέλουμε κάθε φορά που πατά ο χρήστης το sendButton να εισάγονται τα δεδομένα στην βάση και να εμφανίζονται στο messagesGridView και σε κάθε interval του ChatTextTimer να ανανεώνονται τα μηνύματα στο messagesGridView και οι online users στο usersInChatListBox. Για να γίνουν αυτά λίγο πιο κατανοητά:&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:871px;HEIGHT:282px;" class="c#" name="code"&gt;   &amp;lt;asp:UpdatePanel ID=&amp;quot;ChatUpdatePanel&amp;quot; runat=&amp;quot;server&amp;quot; UpdateMode=&amp;quot;Always&amp;quot;&amp;gt;
      &amp;lt;ContentTemplate&amp;gt;
         &amp;lt;div id=&amp;quot;ChatText&amp;quot; style=&amp;quot;width: 100%; height: 100%; overflow: auto; text-align: left&amp;quot;&amp;gt;
            &amp;lt;asp:GridView ID=&amp;quot;messagesGridView&amp;quot; runat=&amp;quot;server&amp;quot; Width=&amp;quot;100%&amp;quot; AutoGenerateColumns=&amp;quot;False&amp;quot;&amp;gt;
               &amp;lt;Columns&amp;gt;
                  &amp;lt;asp:BoundField Visible=&amp;quot;False&amp;quot; DataField=&amp;quot;sender&amp;quot; /&amp;gt;
                     &amp;lt;asp:TemplateField&amp;gt;
                        &amp;lt;ItemTemplate&amp;gt;
                          &amp;lt;asp:Label ID=&amp;quot;msgContentLabel&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;#39;&amp;lt;%#Eval(&amp;quot;msgContent&amp;quot;)%&amp;gt;&amp;#39; 
                           Font-Names=&amp;quot;calibri&amp;quot; /&amp;gt;
                        &amp;lt;/ItemTemplate&amp;gt;
                     &amp;lt;/asp:TemplateField&amp;gt;
                  &amp;lt;asp:BoundField Visible=&amp;quot;false&amp;quot; DataField=&amp;quot;isTitle&amp;quot; /&amp;gt;
               &amp;lt;/Columns&amp;gt;
            &amp;lt;/asp:GridView&amp;gt;
         &amp;lt;/div&amp;gt;
      &amp;lt;/ContentTemplate&amp;gt;
      &amp;lt;Triggers&amp;gt;
         &amp;lt;asp:AsyncPostBackTrigger ControlID=&amp;quot;ChatTextTimer&amp;quot; EventName=&amp;quot;Tick&amp;quot; /&amp;gt;
         &amp;lt;asp:AsyncPostBackTrigger ControlID=&amp;quot;SendButton&amp;quot; EventName=&amp;quot;Click&amp;quot; /&amp;gt;
      &amp;lt;/Triggers&amp;gt;
   &amp;lt;/asp:UpdatePanel&amp;gt;
   &amp;lt;asp:Timer runat=&amp;quot;server&amp;quot; ID=&amp;quot;ChatTextTimer&amp;quot; Interval=&amp;quot;1000&amp;quot; /&amp;gt;

   Online Users:
   &amp;lt;asp:UpdatePanel ID=&amp;quot;UpdatePanel1&amp;quot; runat=&amp;quot;server&amp;quot; UpdateMode=&amp;quot;Always&amp;quot;&amp;gt;
      &amp;lt;ContentTemplate&amp;gt;
         &amp;lt;asp:ListBox ID=&amp;quot;usersInChatListBox&amp;quot; runat=&amp;quot;server&amp;quot; Width=&amp;quot;100%&amp;quot; 
            CssClass=&amp;quot;usersinchatstyle&amp;quot; Height=&amp;quot;115px&amp;quot;&amp;gt;
         &amp;lt;/asp:ListBox&amp;gt;
      &amp;lt;/ContentTemplate&amp;gt;
      &amp;lt;Triggers&amp;gt;
         &amp;lt;asp:AsyncPostBackTrigger ControlID=&amp;quot;ChatTextTimer&amp;quot; EventName=&amp;quot;Tick&amp;quot; /&amp;gt;
      &amp;lt;/Triggers&amp;gt;
   &amp;lt;/asp:UpdatePanel&amp;gt;
&lt;/textarea&gt; &lt;/p&gt;
&lt;p&gt;To &lt;a href="http://www.exinaris.com/demos/chat/chat.aspx"&gt;online demo&lt;/a&gt; είναι μια παραλλαγή του &lt;a href="http://www.exinaris.com/demos/chat/chatinaspnet_sc.zip"&gt;source code&lt;/a&gt; ούτως ώστε να λειτουργεί και για μή εγγεγραμένους χρήστες στο site.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.exinaris.com/demos/chat/chatinaspnet_sc.zip"&gt;&lt;img border="0" src="http://www.studentguru.gr/blogs/xinarisc/downloadsource.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=109849&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="chat" scheme="http://studentguru.gr/b/xinarisc/archive/tags/chat/default.aspx" /><category term="instant messaging" scheme="http://studentguru.gr/b/xinarisc/archive/tags/instant+messaging/default.aspx" /><category term="trigger" scheme="http://studentguru.gr/b/xinarisc/archive/tags/trigger/default.aspx" /><category term="update panel" scheme="http://studentguru.gr/b/xinarisc/archive/tags/update+panel/default.aspx" /></entry><entry><title>Who is online? (ASP .NET)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2009/12/29/who-is-online-asp-net.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2009/12/29/who-is-online-asp-net.aspx</id><published>2009-12-29T17:20:00Z</published><updated>2009-12-29T17:20:00Z</updated><content type="html">&lt;p style="MARGIN:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;i&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Υπάρχει κάποιος μηχανισμός από τον &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Membership&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ή &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Profile&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Provider&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;σε ένα &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ASP&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;.&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;net&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;site&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;για να βλέπουμε τους ενεργούς χρήστες (&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;online&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;users&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;); &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Το μόνο που μας παρέχεται είναι η ημερομηνία και ώρα για το τελευταίο &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;login&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;του χρήστη από το &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;field&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;b&gt;LastLoginDate&lt;/b&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; από τον πίνακα &lt;/span&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;aspnet&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;_&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Membership&lt;/span&gt;&lt;/b&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; και το &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;field &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;b&gt;LastActivityDate&lt;/b&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; από τον πίνακα &lt;/span&gt;&lt;b&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;aspnet&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;_&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Users&lt;/span&gt;&lt;/b&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;. Αυτό δεν μας βοηθά ιδιαίτερα στο να καταλάβουμε αν ο χρήστης πραγματικά βρίσκεται &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;online&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ή όχι γιατί όπως&amp;nbsp;θα διαπιστώσετε το &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;field&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;b&gt;LastActivityDate&lt;/b&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;δεν ενημερώνεται στα χρονικά διαστήματα που αναμένουμε. Μάλιστα υπάρχει ένα s&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;tored&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; p&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;rocedure&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;στο &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ASP&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;.&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;NET&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Schema&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;με όνομα aspnet_Membership_GetNumberOfUsersOnline &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;που επιστρέφει πόσοι χρήστες είναι συνδεδεμένοι (&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;online&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;), παίρνοντας σαν όρισμα τον χρόνο που θέλουμε να προσθέσει στο &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;b&gt;LastActivityDate&lt;/b&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;για να το συγκρίνει με το &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;DateTime&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;την συγκεκριμένη στιγμή.&lt;/span&gt; 
&lt;p style="MARGIN:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Μια μέθοδος για να πετύχουμε πιο αξιόπιστα αποτελέσματα (χωρίς αυτό να είναι απόλυτο), περιγράφεται παρακάτω&lt;a title="_GoBack" name="_GoBack"&gt;&lt;/a&gt;. Μία σκέψη είναι όταν ο χρήστης κάνει &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;login&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;, να τον αποθηκεύουμε σε μια λίστα για να ξέρουμε ότι είναι &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;online&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;και όταν κάνει &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;logout&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;να τον αφαιρούμε. Έτσι, δημιουργούμε ένα νέο &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;class&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;αρχείο (Δεξί κλίκ στο &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;project&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &amp;gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Add&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;New&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Item&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &amp;gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Class&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&amp;nbsp;&lt;a href="http://www.exinaris.com/tutorials/images/add_new_class.png"&gt;&lt;img border="0" alt="" align="top" src="http://www.exinaris.com/tutorials/images/add_new_class.png" width="267" height="103" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Σε αυτό το αρχείο (είτε σε καινούργιο) δημιουργούμε μια κλάση που θα περιέχει τα στοιχεία για κάθε χρήστη που θέλουμε να κρατήσουμε. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:208px;" class="c#" name="code"&gt;public class StateCollection
{
    private string _sessionId;
    private string _username;
    private string _userid;

    public string SessionID { get { return _sessionId; } set { _sessionId = value; } }
    public string Username { get { return _username; } set { _username = value; } }
    public string UserId { get { return _userid; } set { _userid = value; } }
}

&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Επίσης δηλώνουμε το&amp;nbsp;&lt;b&gt;ArrayList&lt;/b&gt;&amp;nbsp;στο οποίο θα κρατάμε τα objects&amp;nbsp;των χρηστών.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:56px;" class="c#" name="code"&gt;public static ArrayList States = new ArrayList();

&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Στην συνέχεια δημιουργούμε και τις μεθόδους που θα μας βοηθήσουν στην εισαγωγή, αφαίρεση και την αναζήτηση των χρηστών.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:206px;" class="c#" name="code"&gt;public static void Add(StateCollection state)
{
   if (state.UserId == &amp;quot;-1&amp;quot;)
      return;
   int StateIndex = Index(state);
   if (StateIndex &amp;lt; 0)
   {
      States.Add(state);
   }
}

public static void Remove(StateCollection state)
{
   if (state.UserId == &amp;quot;-1&amp;quot;)
      return;
   int StateIndex = Index(state);
   if (StateIndex &amp;gt;= 0)
   {
      States.RemoveAt(StateIndex);
   }
}

private static int Index(StateCollection state)
{
   for (int j = 0; j &amp;lt; States.Count; j++)
   if (((StateCollection)States[j]).UserId == state.UserId)
      return j;
   return -1;
}&lt;/textarea&gt; 
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Στην .&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;aspx&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;σελίδα μας εισάγουμε ένα &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;login&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;control&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; και αλλάζουμε το &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;LoggedIn&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;event&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;
&lt;p&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:174px;" class="c#" name="code"&gt;protected void Login1_LoggedIn(object sender, EventArgs e)
{
   string userUniqueId = &amp;quot;-1&amp;quot;;
   userUniqueId = Membership.GetUser(User.Identity.Name).ProviderUserKey.ToString();
   SessionTrack.Add(new StateCollection() { SessionID = Session.SessionID, Username = HttpContext.Current.User.Identity.Name, UserId = userUniqueId });
       
}

&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Τοποθετούμε και ένα &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;control&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;LoginStatus&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;και αλλάζουμε το &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;LoggingOut&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;event&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:154px;" class="c#" name="code"&gt;protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
{
   string userUniqueId = &amp;quot;-1&amp;quot;;
   userUniqueId = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString();
   SessionTrack.Remove(new StateCollection() { UserId = userUniqueId });
}

&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Αυτό φυσικά, δουλεύει μια χαρά στην περίπτωση &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;login&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;του χρήστη. Όμως ο χρήστης υπάρχει πιθανότητα να μην πατήσει &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;logout&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;και απλά να κλείσει τον &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;browser&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;. Σαν αποτέλεσμα ο χρήστης δεν αφαιρείται από την λίστα και παραμένει λανθασμένα σε αυτή. Αυτό μπορεί εν μέρει να ληθεί με την αφαίρεση του χρήστη από την λίστα όταν λήξει το &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Session&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;του. Για να το πετύχουμε αυτό:&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;/span&gt; 
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Προσθέτουμε στο αρχείο της κλάσης μας τις μεθόδους για αφαίρεση και αναζήτηση μέσω του &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Session&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:271px;" class="c#" name="code"&gt;    public static void RemoveFromSession(StateCollection state)
    {
        int StateIndex = IndexFromSession(state);
        if (StateIndex &amp;gt;= 0)
        {
            States.RemoveAt(StateIndex);
        }
    }

    private static int IndexFromSession(StateCollection state)
    {
        for (int j = 0; j &amp;lt; States.Count; j++)
            if (((StateCollection)States[j]).SessionID == state.SessionID)
                return j;
        return -1;
    }
&lt;/textarea&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Στην&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;συνέχεια&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;δημιουργούμε&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ένα&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;span&gt;Global.asax &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;αρχείο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;.(&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Δεξί&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;κλίκ&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;στο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;span&gt;project &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;μας&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &amp;gt; Add New Item &amp;gt; Global Application Class).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;a href="http://www.exinaris.com/tutorials/images/add_new_asax.png"&gt;&lt;img border="0" alt="" align="top" src="http://www.exinaris.com/tutorials/images/add_new_asax.png" width="267" height="103" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:87px;" class="c#" name="code"&gt;void Session_End(object sender, EventArgs e) 
{
   SessionTrack.RemoveFromSession(new StateCollection() { SessionID = Session.SessionID });
}
&lt;/textarea&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Τέλος για να δούμε τους ενεργούς χρήστες σε ένα &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Gridview&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;textarea style="WIDTH:1084px;HEIGHT:87px;" class="c#" name="code"&gt;onlineUsersListBox.DataSource = SessionTrack.States;
onlineUsersListBox.DataTextField = &amp;quot;Username&amp;quot;;
onlineUsersListBox.DataValueField = &amp;quot;UserId&amp;quot;;
onlineUsersListBox.DataBind();
&lt;/textarea&gt; 
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Tip&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;: &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;Για&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;να&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ορίσουμε&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;το&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;χρόνο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;με&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;τον&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;οποίο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;λήγει&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;ένα&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;span&gt;session, &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;στο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;span&gt;web.config &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;αρχείο&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;αλλάζουμε&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;το&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt; &lt;span&gt;forms timeout:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;forms timeout=&amp;quot;1&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;0&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&amp;quot;/&amp;gt; //&amp;nbsp;σε λεπτά&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span&gt;&lt;font face="Calibri"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&lt;font face="Calibri"&gt;&amp;nbsp;&amp;lt;/authentication&amp;gt;&lt;br /&gt;&amp;lt;/system.web&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;FONT-SIZE:10pt;"&gt;&lt;span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-SIZE:10pt;"&gt;&lt;font face="Calibri"&gt;&lt;a href="http://www.exinaris.com/tutorials/onlineusers/onlineusers.zip"&gt;&lt;img border="0" src="http://studentguru.gr/blogs/xinarisc/downloadsource.png" alt="" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=109636&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author></entry><entry><title>Multisite Translator (c#, windows  forms)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2009/12/14/multisite-translator-c-windows-forms.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2009/12/14/multisite-translator-c-windows-forms.aspx</id><published>2009-12-14T16:03:00Z</published><updated>2009-12-14T16:03:00Z</updated><content type="html">&lt;p&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Το “&lt;/span&gt;Multisite&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Translator&lt;span style="mso-ansi-language:EL;"&gt;” είναι μια παραθυρική εφαρμογή, η οποία χρησιμοποιεί δημοφιλή διαδικτυακά &lt;/span&gt;translators&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;engines&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;για την μετάφραση κειμένων.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;u&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;strong&gt;Χαρακτηριστικά:&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/u&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/u&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Στην παρόν έκδοση, υπάρχουν τρία &lt;/span&gt;engines&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;u&gt;Google&lt;/u&gt;&lt;u&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Translate&lt;/u&gt;&lt;span style="mso-ansi-language:EL;"&gt;: αναγνώριση γλώσσας (&lt;/span&gt;Detect&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;language&lt;span style="mso-ansi-language:EL;"&gt;), λειτουργία «&lt;/span&gt;listen&lt;span style="mso-ansi-language:EL;"&gt;» λέξεων, λεξικό.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;u&gt;Bing Translator (or Microsoft Translator&lt;/u&gt;):&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;αναγνώριση&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;γλώσσας&lt;/span&gt; (Auto-Detect).&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/font&gt;&lt;u&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;Yahoo Babelfish&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Λειτουργία αυτόματης ενημέρωσης των διαθέσιμων γλωσσών στα &lt;/span&gt;engines&lt;span style="mso-ansi-language:EL;"&gt;. Δηλαδή αν κάποια από τις εταιρίες προσθέσει ή αφαιρέσει γλώσσες, το πρόγραμμα ενημερώνεται κατάλληλα.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Εισαγωγή κειμένου και αποθήκευση αποτελεσμάτων σε &lt;/span&gt;text&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;αρχεία. &lt;/span&gt;&lt;/span&gt;(thanks to &lt;a href="http://www.studentguru.gr/blogs/vangos"&gt;Vangos Pterneas&lt;/a&gt;&amp;#39;s Document Manager)&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ο χρήστης &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;μπορεί να κάνει &lt;/span&gt;update&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;την εφαρμογή σε νεότερη έκδοση χωρίς να χρειάζεται να κατεβάσει και να τρέξει μόνος του το &lt;/span&gt;&lt;/span&gt;setup&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;u&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;strong&gt;Μάθετε από τον κώδικα:&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/u&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/u&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Χρήση του &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;XmlSerializer&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;COLOR:#2b91af;FONT-SIZE:10pt;mso-ansi-language:EL;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;για να κάνουμε &lt;/span&gt;Serialize&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και &lt;/span&gt;&lt;/span&gt;Deserialize&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;αντικείμενα προς και από έγγραφα &lt;/span&gt;&lt;/span&gt;XML&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;HTTP Get, HTTP Post. &lt;span style="mso-ansi-language:EL;"&gt;Πώς&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;κάνουμε&lt;/span&gt;&lt;span&gt; &lt;/span&gt;extract &lt;span style="mso-ansi-language:EL;"&gt;το&lt;/span&gt;&lt;span&gt; &lt;/span&gt;Viewstate, Event Validation &lt;span style="mso-ansi-language:EL;"&gt;ή&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;άλλων&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;στοιχείων&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;από&lt;/span&gt;&lt;span&gt; &lt;/span&gt;websites.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Χρήση &lt;/span&gt;Application&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Settings&lt;span style="mso-ansi-language:EL;"&gt;: Δημιουργία και πρόσβαση σε τιμές που διατηρούνται μεταξύ των εκτελέσων της εφαρμογής.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Πώς&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;βάζουμε&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;το&lt;/span&gt;&lt;span&gt; &lt;/span&gt;application &lt;span style="mso-ansi-language:EL;"&gt;στο&lt;/span&gt;&lt;span&gt; &lt;/span&gt;System Tray.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Απλή&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;χρήση&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;του&lt;/span&gt;&lt;span&gt; &lt;/span&gt;Clipboard (Cut-Copy-Paste).&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Calibri"&gt;&lt;font size="3"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Απλό &lt;/span&gt;XML Parsing.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;“Smart Update” &lt;span style="mso-ansi-language:EL;"&gt;με&lt;/span&gt;&lt;span&gt; &lt;/span&gt;threads &lt;span style="mso-ansi-language:EL;"&gt;και&lt;/span&gt;&lt;span&gt; &lt;/span&gt;delegates:&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-fareast-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Έλεγχος για &lt;/span&gt;updates.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:EL;mso-bidi-font-family:Calibri;mso-fareast-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αυτόματο κατέβασμα&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;του νέου &lt;/span&gt;version&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;με εμφάνιση &lt;/span&gt;&lt;/span&gt;progress&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;bar&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και ποσοστού που κατέβηκε.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="mso-ansi-language:EL;mso-bidi-font-family:Calibri;mso-fareast-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="FONT:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Κλείσιμο προγράμματος και εκκίνηση εγκατάστασης.&lt;u&gt;&lt;/u&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;strong&gt;Screenshot:&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/multisite_translator.png"&gt;&lt;img border="0" src="http://www.studentguru.gr/blogs/xinarisc/multisite_translator_s.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;u&gt;&lt;strong&gt;Downloads:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;&lt;a href="http://www.exinaris.com/appdownload.aspx?pid=16"&gt;&lt;img border="0" src="http://www.studentguru.gr/blogs/xinarisc/downloadsetup.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.exinaris.com/appssetups/multisite_translator_source.zip"&gt;&lt;img border="0" src="http://www.studentguru.gr/blogs/xinarisc/downloadsource.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN:0in 0in 10pt;" class="MsoNormal"&gt;Για οποιοδήποτε bug παρατηρήσετε παρακαλώ επικοινωνήστε μαζί μου στο xinaris[at]gmail.com&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=109269&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="c#" scheme="http://studentguru.gr/b/xinarisc/archive/tags/c_2300_/default.aspx" /><category term="http post" scheme="http://studentguru.gr/b/xinarisc/archive/tags/http+post/default.aspx" /><category term="language" scheme="http://studentguru.gr/b/xinarisc/archive/tags/language/default.aspx" /><category term="translator" scheme="http://studentguru.gr/b/xinarisc/archive/tags/translator/default.aspx" /><category term="xml parse" scheme="http://studentguru.gr/b/xinarisc/archive/tags/xml+parse/default.aspx" /></entry><entry><title>HTTP Get weather data and XML parsing (ASP.NET, C#)</title><link rel="alternate" type="text/html" href="http://studentguru.gr/b/xinarisc/archive/2009/11/25/http-get-weather-data-and-xml-parsing-asp-net-c.aspx" /><id>http://studentguru.gr/b/xinarisc/archive/2009/11/25/http-get-weather-data-and-xml-parsing-asp-net-c.aspx</id><published>2009-11-25T00:44:00Z</published><updated>2009-11-25T00:44:00Z</updated><content type="html">&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Σε αυτό το πρώτο μου &lt;/span&gt;post&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;θα προσπαθήσω να δείξω πως μπορούμε να κάνουμε ένα απλό &lt;/span&gt;&lt;/span&gt;HTTP&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;GET&lt;span style="mso-ansi-language:EL;"&gt; για να πάρουμε&amp;nbsp;δεδομένα για το&amp;nbsp;καιρό (5 &lt;/span&gt;day&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;forecast&lt;span style="mso-ansi-language:EL;"&gt;) από το &lt;/span&gt;Yahoo&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Weather&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και πως μπορούμε να πάρουμε τα στοιχεία που μας ενδιαφέρουν από το &lt;/span&gt;&lt;/span&gt;XML&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Response&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και τέλος να τα παρουσιάσουμε με ένα ωραίο &lt;/span&gt;&lt;/span&gt;UI&lt;span style="mso-ansi-language:EL;"&gt; (σε &lt;/span&gt;asp&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;net&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;website&lt;span style="mso-ansi-language:EL;"&gt;) στον χρήστη. Καθώς πρόκειται για αρκετό κώδικα δεν θα αναφέρω πολλά στο &lt;/span&gt;post&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;αλλά στο τέλος του &lt;/span&gt;&lt;/span&gt;post&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;δίνω &lt;/span&gt;&lt;/span&gt;link&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;για το ολοκληρωμένο &lt;/span&gt;&lt;/span&gt;project&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Καταρχήν γιατί να πάρουμε τα δεδομένα από το &lt;/span&gt;Yahoo&lt;span style="mso-ansi-language:EL;"&gt;; Γιατί το &lt;/span&gt;response&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;είναι σε &lt;/span&gt;&lt;/span&gt;xml&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και μπορούμε αρκετά εύκολα να πάρουμε τα δεδομένα που μας χρειάζονται.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Πως βρήκαμε το &lt;/span&gt;HTTP&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Get&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;request&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;για το &lt;/span&gt;&lt;/span&gt;Yahoo&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Weather&lt;span style="mso-ansi-language:EL;"&gt;; Κατεβάζουμε το &lt;/span&gt;Yahoo&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Widgets&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και συγκεκριμένα το &lt;/span&gt;&lt;/span&gt;widget&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://widgets.yahoo.com/widgets/yahoo-weather"&gt;&lt;font face="Calibri" size="3"&gt;Yahoo&lt;span style="mso-ansi-language:EL;"&gt;! &lt;/span&gt;Weather&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Με ένα &lt;/span&gt;tool&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;για &lt;/span&gt;&lt;/span&gt;Windows&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;όπως το &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.fiddler2.com/fiddler2/"&gt;&lt;font face="Calibri" size="3"&gt;Fiddler&lt;/font&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;μπορούμε να δούμε τα &lt;/span&gt;&lt;/span&gt;requests&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και &lt;/span&gt;&lt;/span&gt;responses&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;που πραγματοποιούνται από και προς το &lt;/span&gt;&lt;/span&gt;pc&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;μας.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeReq.Png"&gt;&lt;/a&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeRes.Png"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Για αναζήτηση πόλης θα δούμε ότι πρέπει να αναπαράγουμε το ίδιο &lt;/span&gt;request&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;από το πρόγραμμά μας:&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeReq.Png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeReq.Png"&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;nbsp;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeReq.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/placeReq.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Μας επιστρέφεται ένα &lt;/span&gt;xml&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;stream&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;από το οποίο θα πάρουμε τις πόλεις από τα αποτελέσματα της αναζήτησης:&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/placeRes.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/placeRes.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αντίστοιχα, για να πάρουμε τα δεδομένα για τον καιρό πρέπει να αναπαράγουμε το ίδιο &lt;/span&gt;request&lt;span style="mso-ansi-language:EL;"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/dataReq.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/dataReq.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Μας επιστρέφεται ένα &lt;/span&gt;xml&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;stream&lt;span style="mso-ansi-language:EL;"&gt;, το οποίο πρέπει να μελετήσουμε για να πάρουμε τα δεδομένα που μας ενδιαφέρουν:&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/dataRes.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/dataRes.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/controls.Png"&gt;&lt;/a&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Δημιουργούμε ένα νέο &lt;/span&gt;ASP&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;NET&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;project&lt;span style="mso-ansi-language:EL;"&gt;, και &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;ένα αρχείο &lt;/span&gt;class&lt;span style="mso-ansi-language:EL;"&gt; (.&lt;/span&gt;cs&lt;span style="mso-ansi-language:EL;"&gt;). Στο αρχείο αυτό βάζουμε όλες τις συναρτήσεις για την αναζήτηση πόλης και το διάβασμα των &lt;/span&gt;responses&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;από τα &lt;/span&gt;&lt;/span&gt;requests&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Στις συναρτήσεις &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;resolvePlace&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt;() &lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;και&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;getWeather&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;string&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;result&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt;) &lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;πραγματοποιούμε τα δύο &lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;HTTP&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;GET&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;requests&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span&gt;που χρειαζόμαστε. Η συνάρτηση &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;getWeatherIcon&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EL;mso-no-proof:yes;"&gt;() &lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;επιστρέφει τα &lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;urls&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span&gt;σε &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;icons&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span&gt;βάση της μελέτης που κάναμε στο &lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;xml&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;response&lt;/span&gt;&lt;span style="mso-ansi-language:EL;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;.&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/resolveplaceweather.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/resolveplaceweather.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Στην συνέχεια δημιουργούμε ένα νέο &lt;/span&gt;Web&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;User&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;Control&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;και τοποθετούμε τα διάφορα &lt;/span&gt;&lt;/span&gt;controls&lt;span style="mso-ansi-language:EL;"&gt;, όπως φαίνεται πιο κάτω (Στο &lt;/span&gt;project&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;έχω χρησιμοποιήσει το Α&lt;/span&gt;&lt;/span&gt;ccordion&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;control&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;από το &lt;/span&gt;&lt;/span&gt;AjaxControlToolkit&lt;span style="mso-ansi-language:EL;"&gt;):&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/controls.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/controls.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0in 0in 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-ansi-language:EL;"&gt;Δεν θα αναφέρω την ακριβή ανάλυση της λογικής του &lt;/span&gt;parsing&lt;span style="mso-ansi-language:EL;"&gt; &lt;span&gt;του &lt;/span&gt;&lt;/span&gt;xml&lt;span style="mso-ansi-language:EL;"&gt;. Αυτό μπορείτε να το κάνετε οι ίδιοι με υπομονή καθώς είναι αρκετά μεγάλο και με πολλά διαφορετικά δεδομένα&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Τέλος, δημιουργούμε μια .&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;aspx&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;span&gt;σελίδα και με ένα &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;drag&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;n&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;drop&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;span&gt;του &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Web&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;User&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Control&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; (.&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;ascx&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;) έχουμε το τελικό αποτέλεσμα.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EL;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/finalplace.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/finalplace.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/YahooWeatherPlugin.zip"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.studentguru.gr/blogs/xinarisc/finaldata.Png"&gt;&lt;img src="http://www.studentguru.gr/blogs/xinarisc/finaldata.Png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Calibri"&gt;Τελικό Project: &lt;a href="http://www.studentguru.gr/blogs/xinarisc/YahooWeatherPlugin.zip"&gt;YahooWeatherPlugin.zip&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://studentguru.gr/aggbug.aspx?PostID=108684&amp;AppID=1141&amp;AppType=1&amp;ContentType=0" width="1" height="1"&gt;</content><author><name>XinarisC</name><uri>http://studentguru.gr/members/XinarisC/default.aspx</uri></author><category term="get" scheme="http://studentguru.gr/b/xinarisc/archive/tags/get/default.aspx" /><category term="http" scheme="http://studentguru.gr/b/xinarisc/archive/tags/http/default.aspx" /><category term="parse" scheme="http://studentguru.gr/b/xinarisc/archive/tags/parse/default.aspx" /><category term="weather" scheme="http://studentguru.gr/b/xinarisc/archive/tags/weather/default.aspx" /><category term="xml" scheme="http://studentguru.gr/b/xinarisc/archive/tags/xml/default.aspx" /></entry></feed>