none
Pasar valor entre paginas razon MVC3 RRS feed

  • Pregunta

  • Hola que tal buen día,

    Hoy ando peleandome con un valor que necesito pasar desde mi vista cshtml, donde cargo un combo con lo siguiente:

    @Html.DropDownListFor(model => model.Id, (IEnumerable<SelectListItem>)ViewData["Paises"])

    dentro de esa vista tengo un boton de la siguiente forma:

    <div>
        <a id="btnNuevo" class="btn btn-primary" href="@Url.Content("~/Nuevo/")Nuevo</a>

    </div>

    Este botón manda llamar un action result llamado nuevo, que es donde yo necesito recibir el valor que tiene el combo seleccionado pero no tengo idea de como hcaerlo anteriormente habia usado js para enviarlo via js pero aca mi boton me manda directo al controller y no se como enviarle el valor seleccionado del combo espero puedan apoyarme desde ya gracias.

    jueves, 1 de noviembre de 2012 17:16

Todas las respuestas

  • Creo que aproxima mal el asunto.  HTML provee un mecanismo estándar para pasar valores de controles y usted lo está evitando completamente.  Use @Html.BeginForm() para crear un <form> que postee los datos a esa acción.  Por cierto, Url.Content() no es el helper para crear URL's de acciones.  Para ello se usa Url.Action().

    En general, yo haría:

    @using (Html.BeginForm("acción aquí", "controller aquí", FormMethod.Post))
    {
        @Html.DropDownListFor(m => m.Id, (IEnumerable<SelectListItem>)ViewData["Paises"])
        <input type="submit" value="Nuevo" />
    }

    Básicamente así sería.


    Jose R. MCP
    Code Samples

    jueves, 1 de noviembre de 2012 17:31
  • Gracias por la respuesta, con Url.Content solo mando llamar la vista en realidad la carga de el actionresult la mando llamar desde un js, por lo que le comentaba que no tengo idea de como trasladar ese valor solo en el clic del boton que literalment es un link mandando llamar mi vista.

    Saludos.

    jueves, 1 de noviembre de 2012 17:52