none
Extraer dos campos para agregar MVC5 RRS feed

  • Pregunta

  • Hola buenas tardes espero me puedan ayudar sobre todo guiar

    Tengo una tabla en la que guardo los siguientes campos   

    /*Beneficio*/

    ///Id////

    //IdAfiliado//

    //IdEmpresa//

    //Vigencia//

    //Descripcion//

    //IdDescuento///


    esta es la tabla afiliado 

    /*Afiliado*/

    //Id//

    //Nombre//

    //Folio//

    Este es el código del CreateBeneficio.cshtml

    <div class="form-horizontal">
            <h4>Beneficio</h4>
            <hr />
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })


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

            <div class="form-group">
                @Html.LabelFor(model => model.IdAfiliado, "Folio", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.DropDownList("Folio", null, htmlAttributes: new { @class = "form-control" })
                    @Html.ValidationMessageFor(model => model.Afiliado.Folio, "", 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>

    Bien  cuando agrego un beneficio  quisiera que en un dropdownlist o textbox se mostrara automáticamente el folio del afiliado.

     


    blackbird

    martes, 3 de mayo de 2016 20:26

Todas las respuestas

  • hola

    Como defines el codigo del action que invocas cuando editas el beneficio  ? porque es alli donde consultas los datos y envias en una clase model los datos que usarias la view

    el tema no esta solo en la view sino tambien en el controller, puntualmente el action que usa esa view

    deberias crear una clase modelo

    -------

    Lo que no entiendo es porque defines

    Html.DropDownList("IdAfiliado" ..

    y tambien

    @Html.DropDownList("Folio" ...

    para que un combo de IdAfiliado ? no deberia ser un textbox algo como ser

    @Html.TextBoxFor(model => model.IdAfiliado)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 3 de mayo de 2016 21:13
  • Hola leandro el código de editar y crear son los siguientes 

    public ActionResult Create()
            {
                ViewBag.IdAfiliado = new SelectList(db.Afiliados, "Id", "Nombre");
                ViewBag.Folio = new SelectList(db.Afiliados, "Id", "Folio");
                ViewBag.IdDescuento = new SelectList(db.Descuentos, "Id", "PorcentajeD");
                ViewBag.IdEmpresa = new SelectList(db.Empresas, "Id", "Nombre");
                return View();
            } [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Create([Bind(Include = "Id,IdAfiliado,IdEmpresa,Vigencia,Descripcion,IdDescuento")] Beneficio beneficio)
            {
                if (ModelState.IsValid)
                {
                    db.Beneficios.Add(beneficio);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }

                ViewBag.IdAfiliado = new SelectList(db.Afiliados, "Id", "Nombre", beneficio.IdAfiliado);
                ViewBag.Folio = new SelectList(db.Afiliados, "Id", "Folio",beneficio.Afiliado.Folio);
                ViewBag.IdDescuento = new SelectList(db.Descuentos, "Id", "PorcentajeD", beneficio.IdDescuento);
                ViewBag.IdEmpresa = new SelectList(db.Empresas, "Id", "Nombre", beneficio.IdEmpresa);
                return View(beneficio);
            }

            // GET: Beneficios/Edit/5
            public ActionResult Edit(int? id)
            {
                if (id == null)
                {
                    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                }
                Beneficio beneficio = db.Beneficios.Find(id);
                if (beneficio == null)
                {
                    return HttpNotFound();
                }
                ViewBag.IdAfiliado = new SelectList(db.Afiliados, "Id", "Nombre", beneficio.IdAfiliado);
                ViewBag.Folio = new SelectList(db.Afiliados, "Id", "Folio", beneficio.Afiliado.Folio);
                ViewBag.IdDescuento = new SelectList(db.Descuentos, "Id", "PorcentajeD", beneficio.IdDescuento);
                ViewBag.IdEmpresa = new SelectList(db.Empresas, "Id", "Nombre", beneficio.IdEmpresa);
                return View(beneficio);
            }

     [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Edit([Bind(Include = "Id,IdAfiliado,IdEmpresa,Vigencia,Descripcion,IdDescuento")] Beneficio beneficio)
            {
                if (ModelState.IsValid)
                {
                    db.Entry(beneficio).State = EntityState.Modified;
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
                ViewBag.IdAfiliado = new SelectList(db.Afiliados, "Id", "Nombre", beneficio.IdAfiliado);
                ViewBag.Folio = new SelectList(db.Afiliados, "Id", "Folio", beneficio.Afiliado.Folio);
                ViewBag.IdDescuento = new SelectList(db.Descuentos, "Id", "PorcentajeD", beneficio.IdDescuento);
                ViewBag.IdEmpresa = new SelectList(db.Empresas, "Id", "Nombre", beneficio.IdEmpresa);
                return View(beneficio);
            }


    blackbird

    martes, 3 de mayo de 2016 21:21