<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET WebForms</title><link>https://www.dotnetzone.gr:443/cs/forums/13/ShowForum.aspx</link><description>Θέματα για web εφαρμογές, σε ASP.NET WebForms</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Client-side scripting που κάνει raise server-side events</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5763.aspx</link><pubDate>Tue, 27 Sep 2005 23:28:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5763</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5763.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=5763</wfw:commentRss><description>&lt;P&gt;Όχι, καλά έκανες και το μοιράστηκες, υποδειγματικά καλά... &lt;img src="/cs/emoticons/emotion-21.gif" alt="Yes [Y]" /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Client-side scripting που κάνει raise server-side events</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5756.aspx</link><pubDate>Tue, 27 Sep 2005 18:19:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5756</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5756.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=5756</wfw:commentRss><description>Όχι ρε παιδιά, δεν περνάω control data εγώ καθόλου απ'τη JavaScript,
περνάνε με κανονικό postback. Απλώς κάνω raise ένα custom event, δεν
ήταν καθόλου σκοπός μου να μπλεχτώ στα χωράφια του AJAX (Δεν είμαστε
τόσο trendy ακόμη εδώ :D ).
&lt;br&gt;
&lt;br&gt;Απλά μου φάνηκε ενδιαφέρον το ζήτημα, κι είπα να το μοιραστώ :)</description></item><item><title>Απ: Client-side scripting που κάνει raise server-side events</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5750.aspx</link><pubDate>Tue, 27 Sep 2005 04:53:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5750</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5750.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=5750</wfw:commentRss><description>&lt;P&gt;Και εμένα&amp;nbsp;με μια&amp;nbsp;πρώτη ματιά, αυτή την εντύπωση που έδωσε...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Client-side scripting που κάνει raise server-side events</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5749.aspx</link><pubDate>Tue, 27 Sep 2005 04:13:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5749</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5749.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=5749</wfw:commentRss><description>Δεν κοίταξα τον κώδικά σου, αλλά το Ajax δεν κάνει ακριβώς αυτό;</description></item><item><title>Client-side scripting που κάνει raise server-side events</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5745.aspx</link><pubDate>Tue, 27 Sep 2005 01:50:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5745</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5745.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=5745</wfw:commentRss><description>Καλησπέρα παιδιά ... &lt;br&gt;
&lt;br&gt;
Σήμερα στη δουλειά, μου ζητήθηκε το εξής: &lt;i&gt;Θα θέλαμε οι σελίδες μας, απο ένα client-side script να κάνουν postback, και να γίνεται raise ένα event στο server&lt;/i&gt;. Αυτό ήταν απόρροια μιας κατάστασης, όπου ένα modal dialog χρειαζόταν να κάνει refresh (&lt;i&gt;το λέμε και reload εδω&lt;/i&gt;) τη σελίδα η οποία το άνοιξε, και για διάφορους λόγους ένα απλό document.location.reload() δεν εξυπηρετούσε τους σκοπούς μας.&lt;br&gt;
&lt;br&gt;
Μετα απο κάποια ώρα που χρειάστηκα να "πιάσω" (&lt;i&gt;είμαι και λίγο αργός ..&lt;/i&gt;
) νοηματικά το ζητούμενο, το έκανα τελικά, και είπα να μοιραστώ την
εμπειρία γιατί .. είναι αν μη τι άλλο, έστω και ελάχιστα ενδιαφέρον :)&lt;br&gt;
&lt;br&gt;
Λοιπόν ... το framework μας παρέχει τη δυνατότητα να κάνουμε generate ένα&amp;nbsp; τέτοιο script,&amp;nbsp; χρησιμοποιώντας τη μέθοδο &lt;br&gt;
&lt;br&gt;
GetPostBackEventReference(Control ctrl)&amp;nbsp; : string&lt;br&gt;
GetPostBackEventReference(Control ctrl, string argument) : string&lt;br&gt;
&lt;br&gt;
Η μέθοδος "&lt;i&gt;γυρίζει&lt;/i&gt;" ένα string το οποίο περιέχει τον κώδικα σε JavaScript που κάνει αυτή τη δουλειά ... οκ, σε αυτό το σημείο σκέφτηκα εγώ ... "&lt;i&gt;εμμμ ... οκ .. και τώρα .. πως πιάνω εγώ αυτό το event;;; Και τί είναι αυτές οι παράμετροι τύπου Control &amp;amp; string;;;&lt;/i&gt;" ... έλα παναγία μου .. &lt;br&gt;
&lt;br&gt;
Λοιπόν, στο framework κάπου, υπάρχει το interface IPostBackEventHandler. Αυτό, ορίζει μια μοναδική μέθοδο:&lt;br&gt;
&lt;br&gt;
RaisePostBackEvent(string eventArgument) : void&lt;br&gt;
&lt;br&gt;
Ωραία, σκέφτηκα. 'Αρα, αν κάνω τη σελίδα μου να υλοποιεί αυτό το
interface, και βάλω τον JavaScript κώδικα απο παραπάνω σ'ενα button ( &lt;i&gt;ή τελος πάντων τον καλέσω κάπως ...&lt;/i&gt; ), θα κάνω τη δουλειά μου και θα καλεστεί η RaisePostBackEvent όμορφα και ωραία.&lt;u&gt;&lt;b&gt; Λάθος !&lt;/b&gt;&lt;/u&gt; :D&lt;br&gt;
&lt;br&gt;
Το παραπάνω αρνήθηκε να δουλέψει. ( &lt;i&gt;Αργότερα έμαθα το λόγο, τον οποίο θα σας πώ στο τέλος&lt;/i&gt; :) )&lt;br&gt;
&lt;br&gt;
Οπότε, αποφάσισα την πεπάτημένη του ... workaround. Έγραψα μια μικρή
κλάσση, η οποία κάνει inherit το Control, και implement το
IPostBackHandler:&lt;br&gt;
&lt;br&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; WebClientPostBackHandler
: Control, IPostBackEventHandler {&lt;br&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; allWebBasePage _parent = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; allWebClientPostBackHandler(WebBasePage
parent){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;._parent = parent;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt; &lt;br&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#region&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; IPostBackEventHandler Members&lt;o:p&gt; &lt;br&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;
RaisePostBackEvent(&lt;span style="color: blue;"&gt;string&lt;/span&gt; eventArgument)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt;(_parent!=&lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_parent.PageReloading();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;o:p&gt; &lt;br&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;#endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;

Όλες μου οι σελίδες είανι derived&amp;nbsp; (&lt;i&gt;έτσι κι αλλιώς&lt;/i&gt;) απο την
WebBasePage, οπότε ήταν εύκολο για μένα να προσθέσω στην κλάσση τη
μέθοδο PageReloading ως virtual, έτσι ώστε να την υλοποιήσω όταν
χρειάζεται. &lt;br&gt;
&lt;br&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: gray;"&gt;///&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: green;"&gt; &lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: gray;"&gt;///&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: green;"&gt; Called whenever
the page is 'refreshed' using client-side scripting (awep_formReload() method)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: gray;"&gt;///&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: green;"&gt; &lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;protected&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;
PageReloading(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//
Do nothing. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//Response.Write("RELOADED!!!");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;/span&gt;&lt;br&gt;
&lt;/p&gt;
Αμέσως μετά, πρόσθεσα ένα member variable στην WebBasePage, τύπου
WebClientPostBackHandler, την οποία κάνω instantiate στον constructor:&lt;br&gt;
&lt;br&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;private&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; WebClientPostBackHandler
_clientPostBackHandler = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; WebBasePage() : &lt;span style="color: blue;"&gt;base&lt;/span&gt;() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green;"&gt;//
Register the event handler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_clientPostBackHandler = &lt;span style="color: blue;"&gt;new&lt;/span&gt; WebClientPostBackHandler(&lt;span style="color: blue;"&gt;this&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;br&gt;
&lt;br&gt;
Δεν ξεχνώ να προσθέσω αυτό το μικρό Control στο Control tree της σελίδας μου στην OnInit(...) : &lt;br&gt;
&lt;br&gt;


&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;this&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;.Controls.Add(&lt;span style="color: blue;"&gt;this&lt;/span&gt;._clientPostBackHandler);&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

Και τέλος, να κάνω register το script το οποίο κάνει όλη αυτή τη μαγεία πραγματικότητα:&lt;br&gt;
&lt;br&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;private&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt;
RegisterReloadScript(){&lt;br&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style="text-indent: 36pt;"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;(!&lt;span style="color: blue;"&gt;this&lt;/span&gt;.IsClientScriptBlockRegistered(CLIENTSCRIPTKEY_Reload))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; strClientReloadScript = &lt;span style="color: blue;"&gt;this&lt;/span&gt;.GetPostBackEventReference(&lt;span style="color: blue;"&gt;this&lt;/span&gt;._clientPostBackHandler);&lt;br&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Text.StringBuilder
stb = &lt;span style="color: blue;"&gt;new&lt;/span&gt; System.Text.StringBuilder();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stb.Append("&amp;lt;script
language=\"javascript\"&amp;gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stb.Append("function formReload() { ");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stb.Append(strClientReloadScript);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stb.Append("}");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stb.Append("&amp;lt;/script&amp;gt;");&lt;br&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; strClientScript = stb.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;.RegisterClientScriptBlock(CLIENTSCRIPTKEY_Reload,
strClientScript);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;/span&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

... και καλώ την παραπάνω μέθοδο στην onLoad(EventArgs e). H σελίδα που
παράγεται, περιέχει τη JavaScript function formReload(), όταν καλείται
η οποία, η σελίδα γίνεται post back, οι event handlers παίρνουν φωτιά,
και τελικά καλείται η PageReloading() στο server-side κώδικα της
εκάστοτε σελίδας :)&lt;br&gt;
&lt;br&gt;
Πολύ καλό βράδυ μας !!!&lt;br&gt;
&lt;br&gt;
Υ.Γ. ... όπως ανέφερα παραπάνω, αν κάνετε τη σελίδα σας να υλοποιεί τον
IPostBackEventHandler, η RaisePostBackEvent(...) δε θα καλεστεί ποτέ.
Αυτό συμβαίνει διότι η Page κάνει implement το interface
IPostBackDataEventHandler, του οποίου η υλοποίηση "κρύβει" τη μέθοδο
του "απλού" IPostBackEventHandler ... ( &lt;i&gt;κι επίσης ... σκέφτηκα να
μη μπλέξω με ένα τοσο "ευαίσθητο" μέρος της Page&amp;nbsp; - είναι η
μέθοδος που καλείται σε κάθε postback και παίρνει/δίνει/πείτε το όπως
θέλετε τα data απ'τα controls της φόρμας στο Control tree της σελίδας,
οπότε .. καλύτερα να μην τη χαλάμε, να'μαστε και σίγουροι :D&lt;/i&gt; )&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&lt;br&gt;
 &lt;br&gt;
&lt;br&gt;
 &lt;br&gt;</description></item></channel></rss>