In this article I will explain with an example, how to access HTML Control values in Code Behind (Server Side) without runat server in ASP.Net using C# and VB.Net.
The values of all HTML INPUT controls are sent to Server Side on Form Submission (PostBack) and can be fetched using Request.Form collection in ASP.Net using C# and VB.Net.
 
 
HTML Markup
The HTML Markup consists of a Form consisting of two HTML TextBoxes and a Button. The Name attribute has been specified for both the TextBoxes.  
<form id="form1" runat="server">
    Name:
    <input type="text" id="txtName" name="Name" value="" />
    <br />
    Email:
    <input type="text" id="txtEmail" name="Email" value="" />
    <br />
    <br />
    <asp:Button Text="Submit" runat="server" OnClick="Submit" />
</form>
 
 
Accessing HTML Control values in Code Behind (Server Side) without runat server
When the Submit Button is clicked, the values of both the TextBoxes are extracted from the Request.Form collection using its respective Name attribute values.
C#
protected void Submit(object sender, EventArgs e)
{
    string name = Request.Form["Name"];
    string email = Request.Form["Email"];
}
 
VB.Net
Protected Sub Submit(sender As Object, e As EventArgs)
    Dim name As String = Request.Form("Name")
    Dim email As String = Request.Form("Email")
End Sub
 
 
Screenshot
The values of both the TextBoxes being fetched on Code Behind (Server Side)
Access HTML Control values in Code Behind (Server Side) without runat server in ASP.Net
 
 
Demo
 
 
Downloads