Hallo,
ich versuche mich gerade in ASP.NET MVC. Bastel gerade eine Art Mini-Zeiterfassung, habe jedoch gerade ein Problem.
In folgender POST-Methode ist der Parameter immer null/nothing:
Ich kann mir einfach nicht erklären, wieso nur ein Teil übergeben wird? Selbst die Property "Anfang" hat bei jeder Eigenschaft Nothing.
Die POST-Methode rufe ich aus folgender PartialView auf:
Spoiler anzeigen
In der View sind auch alle Properties gesetzt und ich kann diese wunderbar bearbeiten. Im POST sind diese dann, wie auf dem Bild oben zu erkennen ist, alle nothing. Ich verstehe dieses Problem einfach nicht. Ich habe eine komplette Verwaltung von Mitarbeitern, Rechten und Gruppen eingebaut und dort funktioniert das POST auch einwandfrei, nur an dieser einen Stelle nicht.
Meine Recherche hat schon ergeben, dass der Modelbinder Probleme machen soll und man daher den Parameter nicht den gleichen Namen geben soll wie dem Model.
Ich bin für jeden Tipp/Hilfe überaus dankbar!
ich versuche mich gerade in ASP.NET MVC. Bastel gerade eine Art Mini-Zeiterfassung, habe jedoch gerade ein Problem.
In folgender POST-Methode ist der Parameter immer null/nothing:
Ich kann mir einfach nicht erklären, wieso nur ein Teil übergeben wird? Selbst die Property "Anfang" hat bei jeder Eigenschaft Nothing.
VB.NET-Quellcode
- Public Class Stempel
- Public Property ID As Integer
- <Required>
- Public Property Gestempelt As Date
- <Required>
- Public Overridable Property Mitarbeiter As Mitarbeiter
- <Required>
- Public Overridable Property Stempelstati As Stempelstati
- End Class
- <NotMapped>
- Public Class StempelBearbeiten
- Public Property Anfang As Stempel
- Public Property Ende As Stempel
- End Class
Die POST-Methode rufe ich aus folgender PartialView auf:
HTML-Quellcode
- @ModelType ZeiterfassungWebMvc.Models.StempelBearbeiten
- @Code
- ViewData("Title") = "StempelBearbeiten"
- End Code
- @Using (Html.BeginForm())
- @Html.AntiForgeryToken()
- @<div Class="container">
- <div Class="text-center">
- <h2> Eintrag bearbeiten</h2>
- <h4>@Model.Anfang.Gestempelt - @Model.Ende.Gestempelt</h4>
- </div>
- <hr />
- <div class="form-horizontal">
- <div class="form-group">
- <div class="row">
- <div class="col">
- <label>Eingestempelt</label>
- @Html.HiddenFor(Function(x) x.Anfang.Gestempelt)
- @Html.DevExpress.DateEditFor(Function(x) x.Anfang.Gestempelt, Sub(settings)
- settings.Name = "deEingestempelt"
- settings.Theme = "Moderno"
- settings.Properties.EditFormat = EditFormat.Custom
- settings.Properties.EditFormatString = "dd.MM.yyyy, HH:mm:ss"
- settings.Properties.TimeSectionProperties.Visible = True
- settings.Properties.TimeSectionProperties.TimeEditProperties.EditFormat = EditFormat.Custom
- settings.Properties.TimeSectionProperties.TimeEditProperties.EditFormatString = "HH:mm:ss"
- End Sub).GetHtml
- </div>
- <div class="col">
- <label>Ausgestempelt</label>
- @Html.HiddenFor(Function(x) x.Ende.Gestempelt)
- @Html.DevExpress.DateEditFor(Function(x) x.Ende.Gestempelt, Sub(settings)
- settings.Name = "deAusgestempelt"
- settings.Theme = "Moderno"
- settings.Properties.EditFormat = EditFormat.Custom
- settings.Properties.EditFormatString = "dd.MM.yyyy, HH:mm:ss"
- settings.Properties.TimeSectionProperties.Visible = True
- settings.Properties.TimeSectionProperties.TimeEditProperties.EditFormat = EditFormat.Custom
- settings.Properties.TimeSectionProperties.TimeEditProperties.EditFormatString = "HH:mm:ss"
- End Sub).GetHtml
- </div>
- </div>
- </div>
- <div class="form-group">
- <label>Stempelbezeichnung</label>
- @Html.HiddenFor(Function(x) x.Anfang.Stempelstati.ID)
- @Html.DropDownListFor(Function(x) x.Anfang.Stempelstati.ID, DirectCast(ViewData("Stempelliste"), SelectList), New With {.class = "selectpicker form-control", .title = "Bitte wählen Sie eine Rolle aus"})
- </div>
- <div Class="form-group">
- <div Class="btn-group" role="group" aria-label="Bearbeitung">
- <input type="submit" value="Speichern" Class="btn btn-success" />
- @Html.ActionLink("Abbrechen & Zurück", "Übersicht", Nothing, New With {.class = "btn btn-danger"})
- </div>
- </div>
- </div>
- </div>
- End Using
In der View sind auch alle Properties gesetzt und ich kann diese wunderbar bearbeiten. Im POST sind diese dann, wie auf dem Bild oben zu erkennen ist, alle nothing. Ich verstehe dieses Problem einfach nicht. Ich habe eine komplette Verwaltung von Mitarbeitern, Rechten und Gruppen eingebaut und dort funktioniert das POST auch einwandfrei, nur an dieser einen Stelle nicht.
Meine Recherche hat schon ergeben, dass der Modelbinder Probleme machen soll und man daher den Parameter nicht den gleichen Namen geben soll wie dem Model.
Ich bin für jeden Tipp/Hilfe überaus dankbar!