none
MVC - Cómo pongo una clave en un formulario/vista para crear un registro RRS feed

  • Pregunta

  • Estimados, gracias por leerme.

    Tengo este código:

                    

    @model TDO.Models.ContratosOfertas

    @using (Html.BeginForm()) 
    {
        @Html.AntiForgeryToken()

        <div class="form-horizontal">

            @Html.ValidationSummary(true, "", new { @class = "text-danger" })

            <div class="form-group">
                @Html.LabelFor(model => model.Contrato, "Contrato", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownList("Contrato", null, htmlAttributes: new { @class = "form-control" })
                    @Html.ValidationMessageFor(model => model.Contrato, "", new { @class = "text-danger" })
                </div>
            </div>

            <div class="form-group">
                @Html.LabelFor(model => model.Oferta, htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(model => model.Oferta, new { htmlAttributes = new { @class = "form-control" } })
                    @Html.ValidationMessageFor(model => model.Oferta, "", new { @class = "text-danger" })
                </div>
            </div>

            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    }

    Es un formulario para crear un registro. Necesito agregarle un código "Contrato" preestablecido en el primer form-group que puedo pasarle desde mi controlador mediante ViewBag, o ViewData (quizá pueda ir no visible, porque solo quiero que el usuario rellene un campo, "Oferta"), pero no se cómo hacerlo. Alguna idea? Mil gracias


    Saludos


    • Editado nelsiyo miércoles, 27 de septiembre de 2017 9:28
    miércoles, 27 de septiembre de 2017 9:27

Respuestas

  • hola

    ese valor podrias ponerlo en un

    @Html.Hidden(ViewBag.ContratoCodigo)

    de esta forma lo recibiras cuando se realice el post

    aunque recomendaria si puedes lo envies como parte del model de la view, en tu caso en la clase ContratosOfertas

    entonces seria

    @Html.HiddenFor(model => model.ContratoCodigo)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP miércoles, 27 de septiembre de 2017 16:59
    • Marcado como respuesta nelsiyo jueves, 28 de septiembre de 2017 7:06
    miércoles, 27 de septiembre de 2017 16:58

Todas las respuestas

  • hola

    ese valor podrias ponerlo en un

    @Html.Hidden(ViewBag.ContratoCodigo)

    de esta forma lo recibiras cuando se realice el post

    aunque recomendaria si puedes lo envies como parte del model de la view, en tu caso en la clase ContratosOfertas

    entonces seria

    @Html.HiddenFor(model => model.ContratoCodigo)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP miércoles, 27 de septiembre de 2017 16:59
    • Marcado como respuesta nelsiyo jueves, 28 de septiembre de 2017 7:06
    miércoles, 27 de septiembre de 2017 16:58
  • Hola:

    Necesito agregarle un código "Contrato" preestablecido en el primer form-group que puedo pasarle desde mi controlador mediante ViewBag

     Como bien te sugiere Leandro, envíalo en el Model al momento de retornar la vista, en la vista usas el Hide() y listo, al momento de hacer el Submit, automáticamente mapeara las propiedades.


    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 27 de septiembre de 2017 17:24
  • Muchas gracias Leandro.

    Saludos

    jueves, 28 de septiembre de 2017 7:06