【发布时间】:2016-02-21 06:02:27
【问题描述】:
我需要将所有客户从一个不同的表中获取到门票表格中。
我的模态......
public class Ticket
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Required()]
public Int32 TicketID { get; set; }
public Int32 TicketNum { get; set; }
[Required()]
public DateTime TicketDate { get; set; }
[ForeignKey("Customer")]
public Int32 CustomerID { get; set; }
[Required(ErrorMessage ="Customer Name is required!!")]
[Display(Name ="Customer Name")]
public String CustomerName { get; set; }
public Int32 FieldID { get; set; }
public Int32 WellID { get; set; }
public Int32 WellName { get; set; }
public Int32 LogID { get; set; }
public IEnumerable<SelectListItem> Customers { get; set; }
public virtual Customer Customer { get; set; }
// public virtual Field Field { get; set; }
// public virtual Well Well { get; set; }
// public virtual Log Log { get; set; }
}
我的控制器...
[HttpPost]
public ActionResult Create(Ticket ticket)
{
//Very important step
if (!ModelState.IsValid)
{
return View(ticket);
}
Console.WriteLine("Customer: ");
ViewBag.Customers = new SelectList(context.Customers.ToList());
try {
context.Tickets.Add(ticket);
context.SaveChanges();
}
catch(Exception ex)
{
ModelState.AddModelError("Error:" , ex.Message);
return View(ticket);
}
TempData["Message"] = "Created " + ticket.TicketID;
return RedirectToAction("Index");
}
我的看法.....
<div class="form-group">
@Html.LabelFor(model => model.TicketDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TicketDate, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.TicketDate, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.CustomerName, "Customer", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Customers", (IEnumerable<SelectListItem>)(ViewBag.Customers), htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.CustomerName, "", new { @class = "text-danger" })
</div>
</div>
我知道有很多关于此的帖子,我尝试了每个人。
【问题讨论】: