title: ASP.net change Label text after Page Load
body: <p>I know it might not be possible considering the Page Lifecycle but is there any way I could change the text of a label to the result of my delegate after the Page_Load method has been executed.</p>
  
  <p>This is my code</p>
  
  <pre><code>public partial class WebForm1 : System.Web.UI.Page
      {
          //private static int Clicks;
          static RaceResult Result;
  
          protected void Page_Load(object sender, EventArgs e)
          {
              //Label1.Text = Convert.ToString(Session["Clicks"]);
  
              // First page load?
              if (!IsPostBack)
              {
                  Result = new RaceResult(0, "");
                  Result.NbrClicksReached += Result_NbrClicksReached;
              }
          }
  
          private void Result_NbrClicksReached(string message)
          {
              lblRaceResults.Text = (message); //This is the label I would like to change
  
          }
  
          protected void btnCounter_Click(object sender, EventArgs e)
          {
              Result.Add(1);
          }
  
          public delegate void StringDelegate(string message);
  
          public class RaceResult
          {
              public int Clicks { get; set; }
              public string Name { get; set; }
  
              public RaceResult(int clicks, string name)
              {
                  Name = name;
                  Clicks = 0;
              }
  
              //Delegate
              public event StringDelegate NbrClicksReached;
  
              public void Add(int amount)
              {
                  Clicks += amount;
  
                  if (Clicks == 1)
                  {
                      Name = "3rd";
                      if (NbrClicksReached != null)
                          NbrClicksReached(Name);
                  }
  
                  if (Clicks == 2)
                  {
                      Name = "2nd";
                      NbrClicksReached(Name);
                  }
  
                  if (Clicks &gt;= 3)
                  {
                      Name = "1st";
                      NbrClicksReached(Name);
                  }
              }
          }
      }
  </code></pre>
  
  <p>This is my aspx page</p>
  
  <pre><code>&lt;body&gt;
      &lt;form id="form1" runat="server"&gt;
          &lt;div&gt;
              &lt;asp:Button ID="btnFeed" OnClick="btnCounter_Click" runat="server" Text="Button" /&gt;
              &lt;br /&gt;
              &lt;asp:Label ID="lblRaceResults" runat="server" Text="Label"&gt;&lt;/asp:Label&gt;
          &lt;/div&gt;
      &lt;/form&gt;
  &lt;/body&gt;
  </code></pre>
  
  <p>If it is not possible to change my labels text could anyone make a suggestion to what I might add to my Page_Load to get the result to display in the label</p>