2012-04-24 24 views
5

Estoy tratando de enviar los datos de mi formulario a mi controlador ASP MVC pero la colección de formularios está vacía. Las variables en la acción están ligadas correctamente. Esta es mi forma Razorasp mvc post no enviando datos del formulario

@foreach (var recipe in Model.RecipesInCategory) { 
    <form name="input" action="mycontroller/myAction/@Model.Id1/@Model.Id2" method="post"> 
    <fieldset> 
     <table > 
     <tr> 
      <td> 
      <input id="AddBtn" type="submit" value="Add" /> 
      <select id="dayOfWeek" > 
       <option value="Sunday">Sunday</option> 
       <option value="Monday">Monday</option> 
       <option value="Tuesday">Tuesday</option> 
       <option value="Wednesday">Wednesday</option> 
       <option value="Thursday">Thursday</option> 
       <option value="Friday">Friday</option> 
       <option value="Saturday">Saturday</option> 
      </select> 
      </td> 
     </tr> 
     </table> 
    </fieldset> 
    </form> 
    } 

y aquí está mi controlador. Los dos GUID se están procesando correctamente, pero la variable dow siempre es nula. De hecho, el Formulario no tiene entradas en absoluto.

[HttpPost] 
public ActionResult myAction(Guid Id1, Guid Id2) 
{ 
    var dow = this.Request.Form["dayOfWeek"]; 

Tenga en cuenta que tengo muchos formularios en esta página creados en un bucle. ¿es eso un problema?

+1

Por cierto, debe usar parámetros de acción en lugar de 'Request.Form'. – SLaks

+0

Vengo del mundo de WPF y mi HTML es muy débil. Siento que los ayudantes de HTML me aíslan demasiado del HTML en este punto. Quiero aprender qué sucede debajo de las sábanas antes de comenzar a usar abstracciones. –

+0

No estoy hablando de ayudantes de HTML; Estoy hablando de parámetros de acción. Son mucho más simples que la lectura manual de 'Solicitud'. – SLaks

Respuesta

21

El navegador solo PUBLICARÁ datos desde elementos de formulario con atributos name="".

+0

¡perfecto! eso lo hizo Gracias. –

+1

así que déjame ver si estoy vacío: ¿POST usa 'nombre' y CSS/JS usa Id? –

+2

Exactamente. 'name' no necesita ser único. (de hecho, para los botones de opción, no debe ser único) – SLaks

Cuestiones relacionadas