2 Datalist in einer Form speichern in DB geht nicht

  • C# (ASP)

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Mark15.

    2 Datalist in einer Form speichern in DB geht nicht

    Hallo,

    ich habe in einer <form> 2 Datalist erstellt die in der DB auf eine spalte zugreifen sollen.
    Wenn ich was in die 1 Liste eintrage wird diese in DB geschrieben schreibe ich aber was in die 2 Liste kommt nur null oder 0 für die ID.

    Grüße Markus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Willkommen im Forum.

    Puh, wow. Wie soll man aufgrund der Infos ne andere Antwort geben als: »Dann haste wohl was falsch gemacht. Such mal den Unterschied in der Handhabung der beiden Datalists.«?
    Da brauchen wir m.E. z.B. entweder den Code, wie Du mit den Lists umgehst oder das Projekt ohne bin-, obj-, .vs- und .git-Ordner und gezippt über [+ Erweiterte Antwort] hochgeladen. Vielleicht finden wir so das Problem und eine Lösung.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hy,

    ja das ist mir beim abschicken auf gerade gekommen ohne mein Code wird es schwierig.
    Das wäre mein Code:

    C#-Quellcode

    1. Code View:
    2. <form asp-controller="Lagemeldungen" asp-action="CreatEditLage">
    3. <div class="Card">
    4. <div class=" card-header">
    5. <h3>Lagemeldungen</h3>
    6. </div>
    7. <div class="card-body">
    8. <div class="row">
    9. <input asp-for="Lagemeldungen" type="text" class="form-control" list="LageFeuer" placeholder="Lagemeldung Feuer">
    10. <datalist id="LageFeuer">
    11. <option>f1 (Kleinbrand/Container)</option>
    12. </datalist>
    13. </div>
    14. <br />
    15. <div class="row">
    16. <input asp-for="Lagemeldungen" type="text" class="form-control" list="LageTHL" placeholder="Lagemeldung THL">
    17. <datalist id="LageTHL">
    18. <option>f1 (Kleinbrand/Container)</option>
    19. </datalist>
    20. </div>
    21. </div>
    22. <div class="card-footer">
    23. <button class="btn btn-primary" type="submit">Speichern</button>
    24. </div>
    25. </div>
    26. </form>
    27. Code Controller:
    28. public class LagemeldungenController : Controller
    29. {
    30. private readonly ApplicationDbContext _context;
    31. public LagemeldungenController(ApplicationDbContext context)
    32. {
    33. _context = context;
    34. }
    35. public IActionResult Index()
    36. {
    37. return View();
    38. }
    39. public IActionResult CreateEditLagemeldungen(int id)
    40. {
    41. return View();
    42. }
    43. public IActionResult CreatEditLage(Lagemeldung lagemeldung)
    44. {
    45. // Daten werden hier in Datenbank geschrieben
    46. if (lagemeldung.Id == 0)
    47. {
    48. // Wenn wir es nicht bearbeiten soll ein neues hinzugefügt werden!!!!!
    49. _context.Lagemeldungs.Add(lagemeldung); //Was in die Datenbank hinzufügen
    50. }
    51. else
    52. {
    53. var lagefromDb= _context.Lagemeldungs.SingleOrDefault(x => x.Id == lagemeldung.Id);
    54. if(lagefromDb == null)
    55. {
    56. return NotFound();
    57. }
    58. lagefromDb.Uhrzeit = lagemeldung.Uhrzeit;
    59. lagefromDb.Absender = lagemeldung.Absender;
    60. lagefromDb.Empfänger = lagemeldung.Empfänger;
    61. lagefromDb.Lagemeldungen = lagemeldung.Lagemeldungen;
    62. }
    63. _context.SaveChanges(); //Die Daten wurden in die Datenbank gespeichert
    64. return RedirectToAction("CreateEditLagemeldungen");
    65. }



    Grüße Markus