You need to set the name also in input type text.
<input id="txtDate" type="text" name="txtDate" value='<%= Session["date"] %>' />
C#
protected void GetValue(object sender, EventArgs e)
{
    this.lblDate.Text = Request.Form["txtDate"];
}
 Example
HTML 
<input type="text" name="txtName" value='<%= this.Name %>' />
<asp:Label ID="lblName" Text="" runat="server" />
<asp:Button Text="Show value in Label" OnClick="GetValue" runat="server" />
 C#
public string Name { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
    this.Name = "Azim";
}
protected void GetValue(object sender, EventArgs e)
{
    this.lblName.Text = Request.Form["txtName"];
}