Tipo de control de entrada Texto Referencia en código Detrás

Tengo el siguiente código

  <input runat="server" id="Name" type="text" name="Name"/>


    cmd.parameters.addwithvalue("@NAME", Name.value);

Estoy tratando de capturar los datos que ingresé dentro de mi control y (Nombre.valor) siempre es igual a "" No importa lo que escriba. Sé que están correctamente asignados, ya que si lo cambio a un cuadro de texto funciona bien. Me gustaría que esta entrada también funcione.

EDITADO Parece que esto no funciona si esta es la forma correcta de hacer esto pero alguna razón por la que esto funcionaría pero Name.value no?

cmd.Parameters.AddWithValue("@NAME", Request.Form["Name]);

Respuestas a la pregunta(3)

Su respuesta a la pregunta