Hoi allemaal,
Ik zit met een grote uitdaging en blijkbaar nog te weinig kennis van ASP MVC.
Ik heb een Product welke een referentie heeft naar een Productgroup
Nu heb ik een Edit die netjes alles update maar als ik de waarde van mijn DropDownList verander wordt deze niet geupdate. Hieronder mijn code welke voor de update zou moeten zorgen dit werkt netjes als je maar een enkel Object moet editen welke geen reference heeft naar andere modellen maar als je een Object met references naar andere modellen moet updaten is het blijkbaar niet voldoende.
Als ik een breakpoint zet op mijn post method dan zijn Manufacturer en Productgroup null.
Action: Edit
View: Edit
Nu heb ik al gezocht hoe je een model can updaten met references in ASP.net maar kan niets vinden.. Heb eerlijk gezegd ook niet een goed idee hoe ik dat zou moeten noemen, en hoop dus dat iemand mij kan helpen hiermee, ben er namelijk al 3 dagen mee bezig
Ik zit met een grote uitdaging en blijkbaar nog te weinig kennis van ASP MVC.
Ik heb een Product welke een referentie heeft naar een Productgroup
Nu heb ik een Edit die netjes alles update maar als ik de waarde van mijn DropDownList verander wordt deze niet geupdate. Hieronder mijn code welke voor de update zou moeten zorgen dit werkt netjes als je maar een enkel Object moet editen welke geen reference heeft naar andere modellen maar als je een Object met references naar andere modellen moet updaten is het blijkbaar niet voldoende.
Als ik een breakpoint zet op mijn post method dan zijn Manufacturer en Productgroup null.
Action: Edit
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| public ActionResult Edit(int id) { ViewData["ManufacturerList"] = new SelectList(_entities.Manufacturer.ToList(), "manufacturerID", "manufacturerName"); ViewData["ProductgroupList"] = new SelectList(_entities.Productgroup.ToList(), "productgroupID", "productgroupName"); var productToEdit = (from p in _entities.Product.Include("Productgroup").Include("Manufacturer") where p.productID == id select p).First(); return View(productToEdit); } // // POST: /Product/Edit/5 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(Product productToEdit) { ViewData["ManufacturerList"] = new SelectList(_entities.Manufacturer.ToList(), "manufacturerID", "manufacturerName"); ViewData["ProductgroupList"] = new SelectList(_entities.Productgroup.ToList(), "productgroupID", "productgroupName"); try { var originalProduct = (from p in _entities.Product.Include("Manufacturer").Include("Productgroup") where p.productID == productToEdit.productID select p).First(); _entities.ApplyPropertyChanges(originalProduct.EntityKey.EntitySetName, productToEdit); _entities.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } } |
View: Edit
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <% using (Html.BeginForm()) {%> <fieldset> <legend>Fields</legend> <p> <label for="productID">productID:</label> <%= Html.TextBox("productID", Model.productID) %> <%= Html.ValidationMessage("productID", "*") %> </p> <p> <label for="productName">Product:</label> <%= Html.TextBox("productName", Model.productName) %> <%= Html.ValidationMessage("productName", "*") %> </p> <p> <label for="productDescription">Description:</label> <%= Html.TextBox("productDescription", Model.productDescription) %> <%= Html.ValidationMessage("productDescription", "*") %> </p> <p> <label for="Manufacturer">Manufacturer:</label> <%= Html.DropDownList("Manufacturer", (IEnumerable<SelectListItem>)ViewData["ManufacturerList"], Model.Manufacturer.manufacturerID)%> <%= Html.ValidationMessage("Manufacturer", "*")%> </p> <p> <label for="Productgroup">Productgroup:</label> <%= Html.DropDownList("Productgroup", (IEnumerable<SelectListItem>)ViewData["ProductgroupList"], Model.Productgroup.productgroupID)%> <%= Html.ValidationMessage("Productgroup", "*")%> </p> <p> <label for="productWarranty">Warranty:</label> <%= Html.TextBox("productWarranty", Model.productWarranty) %> <%= Html.ValidationMessage("productWarranty", "*") %> </p> <p> <label for="Price">Price:</label> <%= Html.TextBox("Price", String.Format("{0:F}", Model.Price)) %> <%= Html.ValidationMessage("Price", "*") %> </p> <p> <label for="active">Active:</label> <%= Html.CheckBox("active", Model.active) %> <%= Html.ValidationMessage("active", "*") %> </p> <p> <input type="submit" value="Save" /> </p> </fieldset> <% } %> |
Nu heb ik al gezocht hoe je een model can updaten met references in ASP.net maar kan niets vinden.. Heb eerlijk gezegd ook niet een goed idee hoe ik dat zou moeten noemen, en hoop dus dat iemand mij kan helpen hiermee, ben er namelijk al 3 dagen mee bezig