Tengo una vista con un menú desplegable, que está vinculada al modelo de vista ...

Una de las propiedades del modelo de vista:

public int selectDTypeID { get; set; }

La vista tiene un menú desplegable:

   Html.DropDownListFor(
       model => model.selectDTypeID , 
       new SelectList(
              new List<Object>{ 
                   new { value = 1 , text = "Test1"  },
                   new { value = 2 , text = "Test2" },
                   new { value = 3 , text = "Test3"}
                },
              "value",
              "text"
       )
    )

¿Cómo puedo obtener el valor de la lista desplegable en la publicación sin usar un parámetro adicional? Me gustaría poder hacer esto ...

[HttpPost]
public ActionResult ContinueDonation(AddDonationViewModel model)
{
 var id = model.selectDTypeID;

}

¿Puedo hacer algo como esto?

0
Nick B 6 may. 2012 a las 00:49

1 respuesta

La mejor respuesta

Si su Vista es una vista fuertemente tipada como esta,

@model AddDonationViewModel
@using (Html.BeginForm())
{
   @Html.DropDownListFor(
       model => model.selectDTypeID , 
       new SelectList(
              new List<Object>{ 
                   new { value = 1 , text = "Test1"  },
                   new { value = 2 , text = "Test2" },
                   new { value = 3 , text = "Test3"}
                },
              "value",  "text"))    

    <input type="submit" value="go" />
}

Cuando haga clic en enviar, el valor seleccionado estará disponible en la propiedad SelectdTYpeID en su método de acción HttpPost

[HttpPost]
public ActionResult ContinueDonation(AddDonationViewModel model)
{
  var id = model.selectDTypeID;  // You have your selected ID here
}
2
Shyju 6 may. 2012 a las 01:03
¿Cómo podría realizar un envío, pero aún así cargar los resultados en un div en la misma página? Mi jquery es algo así como $ ('# btnSelect'). click (function () {$ ('# div'). load (' / Controller / ContinueDonation '...); ¿cómo podría hacer que algo como esto funcione? (Devolviendo una vista parcial del controlador ...)
 – 
Nick B
6 may. 2012 a las 01:12
1
: ¿Es una pregunta nueva? ¿Desea utilizar un formulario jquery para enviar y mostrar algún contenido en la página? los pls proporcionan más detalles. Si no está relacionado con hacer esto, le animo a que escriba una nueva pregunta.
 – 
Shyju
6 may. 2012 a las 01:16