I have a problem adding a DropDownList
, RadioButton
and CheckBox
in the edit method, I do not know how to put it in the view, or what I have to modify in the class or the controller
The class:
public class Bills
{
public int ID { get; set; }
public string Concepto { get; set; }
public int Monto { get; set; }
public Banco Banco { get; set; }
public FormaPago Pago { get; set; }
public string Factura { get; set; }
[Display(Name = "Fecha")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime Fecha_de_Pago { get; set; }
public bool Aprobacion { get; set; }
//public ICollection<Enrollment> Enrollments { get; set; }
}
public enum Banco
{
Hsbc=1,
American_Express=2,
BBVA_Bancomer=3,
Banamex=4
}
public enum FormaPago
{
Efectivo=1,
Pago_en_linea=2,
Cheque=3,
Tarjeta=4
}
public class ConceptoPagoDBContext : DbContext
{
public DbSet<Bills> Pago { get; set; }
}
//el controlador
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Bills bills = db.Pago.Find(id);
if (bills == null)
{
return HttpNotFound();
}
return View(bills);
}
// POST: /Concepto/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include="ID,Concepto,Monto,Banco,Pago,Factura,Fecha_de_Pago,Aprobacion")] Bills bills)
{
if (ModelState.IsValid)
{
db.Entry(bills).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(bills);
}
//la vista de edit
@model Pagos.Models.Bills
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Pagos</h4>
<hr />
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.ID)
<div class="form-group">
@Html.LabelFor(model => model.Concepto, new { @class = "control- label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Concepto)
@Html.ValidationMessageFor(model => model.Concepto)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Monto, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Monto)
@Html.ValidationMessageFor(model => model.Monto)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Banco, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.Banco,
new SelectList(Enum.GetNames(typeof(Pagos.Models.Banco))),
"Seleciona Banco")
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Pago, new { @class = "control-label col-md-2" })
@Html.DropDownListFor(model => model.Pago,
new SelectList(Enum.GetNames(typeof(Pagos.Models.FormaPago))),
"Seleciona Forma de Pago")
</div>
<div class="form-group">
@Html.LabelFor(model => model.Factura, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<p>¿Desea factura?</p>
SI: @Html.RadioButton("Factura", "Si")
NO: @Html.RadioButton("Factura", "No")
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Fecha_de_Pago, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Fecha_de_Pago)
@Html.ValidationMessageFor(model => model.Fecha_de_Pago)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Aprobacion, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<p>¿Son correctos los datos?</p>
@Html.CheckBox("Aprobacion", false)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>