Bonjour!
J'ai un problème assez curieux. J'ai créé une méthode Delete et la vue associée. Tout ce passe bien quand j'arrive en Get dans ma vue. Par contre, une fois que je clique sur le bouton supprimer, j'obtiens une erreur de reference:Voici le code de ma méthode Delete:Object reference not set to an instance of an object
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public ActionResult Delete(int id) { Models.Domain domain = new Models.Domain(); var test = domain.getDomain(id); return View(domain.getDomain(id)); } // // POST: /Domain/Edit/5 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Delete(int id, FormCollection collection) { try { Models.Domain deleteDomain = new Models.Domain(); deleteDomain.DeleteDomain(id); return RedirectToAction("Index", new { id = deleteDomain.getMethodFromCurrentDomain(id).met_id }); } catch { return View(); } }
Le code de ma vue Delete:
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
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 <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> Supprimer </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>Supprimer</h2> <%= Html.ValidationSummary("L'édition a échouée. Veuillez essayez à nouveau.")%> <% using (Html.BeginForm()) {%> <fieldset> <legend>Etes-vous sur de vouloir supprimer la question suivante?</legend> <p> <label for="dom_name"><b>Nom du domaine:</b></label> <%= Html.Encode(Model.dom_name) %> </p> <p> <label for="dom_name"><b>Evaluation actuelle du domaine:</b></label> <%= Html.Encode(Model.dom_eval) %> </p> <p> <input type="submit" value="Save" /> </p> </fieldset> <% } %> <div> <%=Html.ActionLink("Retour aux domaines", "Index", new { id = Model.tbl_method.met_id })%> </div> </asp:Content>
En rouge il s'agit de la ligne qui pose problème.
ma méthode de suppression dans ma classe Domain:
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void DeleteDomain(int _domID) { myApp.entity().DeleteObject(myApp.getDomain(_domID)); myApp.entity().SaveChanges(); }
Mon entity EF de ma base de donnée est en statique comme il suit:
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part private static Models.databaseEntities db = new databaseEntities ();
J'ai comparé un peu avec mes autres vue, Create, Edit, et je ne vois vraiment pas ce que je fais de faux : /
Merci bien pour votre aide,
L.
Partager