Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // GET: Model/Edit/5
- public ActionResult Edit(int? id)
- {
- if (id == null)
- {
- return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
- }
- Model model = db.Models.Find(id);
- if (model == null)
- {
- return HttpNotFound();
- }
- ViewBag.Manufacturers = GetManufacturerList(model);
- return View(model);
- }
- // POST: Model/Edit/5
- // To protect from overposting attacks, please enable the specific properties you want to bind to, for
- // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
- [HttpPost]
- [ValidateAntiForgeryToken]
- public ActionResult EditPost(int? id)
- {
- if (id == null)
- {
- return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
- }
- var modelToUpdate = db.Models.Find(id);
- if (TryUpdateModel(modelToUpdate, "",
- new string[] { "ModelName", "ManufacturerID" }))
- {
- try
- {
- db.SaveChanges();
- return RedirectToAction("Index");
- }
- catch (DataException /* dex */)
- {
- //Log the error (uncomment dex variable name and add a line here to write a log.
- ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
- }
- }
- ViewBag.Manufacturers = GetManufacturerList();
- return View(modelToUpdate);
- }
- @using (Html.BeginForm())
- {
- @Html.AntiForgeryToken()
- <div class="form-horizontal">
- <h4>Model</h4>
- <hr />
- @Html.ValidationSummary(true, "", new { @class = "text-danger" })
- @Html.HiddenFor(model => model.ModelID)
- <div class="form-group">
- @Html.LabelFor(model => model.ModelName, htmlAttributes: new { @class = "control-label col-md-2" })
- <div class="col-md-10">
- @Html.EditorFor(model => model.ModelName, new { htmlAttributes = new { @class = "form-control" } })
- @Html.ValidationMessageFor(model => model.ModelName, "", new { @class = "text-danger" })
- </div>
- </div>
- <div class="form-group">
- @Html.LabelFor(model => model.Manufacturer.ManufacturerName, "Manufacturer",
- htmlAttributes: new { @class = "control-label col-md-2" })
- <div class="col-md-5">
- @Html.DropDownList("ManufacturerID", (List<SelectListItem>)ViewBag.Manufacturers,
- htmlAttributes: new { @class = "form-control" })
- @Html.ValidationMessageFor(model => model.Manufacturer.ManufacturerName, "",
- new { @class = "text-danger" })
- </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>
- }
- public class Model
- {
- [Required]
- [Display(Name = "Manufacturer")]
- [ForeignKey("Manufacturer")]
- public int ManufacturerID { get; set; }
- [Required]
- public int ModelID { get; set; }
- [Required]
- [StringLength(50, ErrorMessage = "Model cannot be longer than 50 characters.")]
- [RegularExpression(@"^[a-zA-Z0-9.-/() ]+$", ErrorMessage = "Invalid characters used. A-Z or a-z, 0-9, '.', '-', '()' and '/' allowed.")]
- [Display(Name = "Model")]
- public string ModelName { get; set; }
- public virtual Manufacturer Manufacturer { get; set; }
- public virtual ICollection<Item> Items { get; set; }
- }
- public class Manufacturer
- {
- [Required]
- public int ManufacturerID { get; set; }
- [Required]
- [StringLength(50, ErrorMessage = "Manufacturer cannot be longer than 50 characters.")]
- [RegularExpression(@"^[a-zA-Z0-9.-/() ]+$", ErrorMessage = "Invalid characters used. A-Z or a-z, 0-9, '.', '-', '()' and '/' allowed.")]
- [Display(Name = "Manufacturer")]
- public string ManufacturerName { get; set; }
- public virtual ICollection<Model> Models { get; set; }
- public virtual ICollection<Item> Items { get; set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement