Why does Response.Write show up before the controls on the page?
<p>In this code , why does text for response.write appear before the text in the label?  Here is the code behind:</p>

<pre><code>protected void Page_Load(object sender, EventArgs e)
{
    HttpRequest request = Request;
    if (request.QueryString["game"] == "cstrike") Label1.Text = "15000 $";
    if (request.QueryString["game"] == "diablo3") Label1.Text = "25000 $";
    if (request.QueryString["game"] == "pes2012") Label1.Text = "30000 $";
    if (request.QueryString["game"] == "splinterCellConviction") Label1.Text = "75000 $";
    Response.Write("&lt;span&gt;Query:&lt;span&gt;" + request.QueryString.ToString());
} 
</code></pre>

<p>For example , the output looks like this:</p>

<p><strong>Query:
game=cstrike
15000$</strong></p>

<p>why did it output in this order? The "asp label control" is above all the controls on the page :</p>

<p>I expected the output to look like this :</p>

<p><strong>15000$
Query:
game=cstrike</strong></p>

<p>here is the asp.net page code front:</p>

<pre><code>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Pricing.aspx.cs" Inherits="queryStringPlay.Pricing" %&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head runat="server"&gt;
    &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id="form1" runat="server"&gt;
    &lt;div&gt;
        &lt;asp:Label ID="Label1" runat="server" Text=""&gt;&lt;/asp:Label&gt;
    &lt;/div&gt;

    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>
