Ich habe ein Problem, dass es scheint, mein Modell nicht nach Datenbankänderung aktualisiert. Ich habe eine Liste, die jeweils einen Knopf zum Bestätigen oder Ablehnen hat.Modell nicht nach Datenbankänderung aktualisiert
using (Html.BeginForm("LeaveProcess", "Admin", FormMethod.Post, new { @class = "form-horizontal" }))
{
<input type="text" name="LvAppId" hidden value="@item.LvAppId">
<li><button type="submit" class="btn btn-link" name="AppVal" value=true data-confirm="are u sure?" >Approve</button></li>
<li><button type="submit" class="btn btn-link" name="AppVal" value=false >Reject</button></li>
}
Wenn i-Taste drücken genehmigen oder abzulehnen, wird der Wert dieser Submit-Button wird gehen
[HttpPost]
public ActionResult LeaveProcess(string LvAppId, bool AppVal)
{
DataChange.UpdateStatusFromAdmin(LvAppId, AppVal);
TempData["AlertMessage"] = "Your Action Has Been Processed";
return RedirectToAction("Index");
}
und Spalte Update-Datenbank an der Steuerung auf "genehmigt" oder "ablehnen".
public static void UpdateStatusFromAdmin(string LvAppId, bool AppVal)
{
if (AppVal == true)
{
db.Database.ExecuteSqlCommand("UPDATE LeaveApps SET Status='Approved' WHERE LvAppId={0}", LvAppId);
}
else
{
db.Database.ExecuteSqlCommand("UPDATE LeaveApps SET Status='Rejected' WHERE LvAppId={0}", LvAppId);
}
}
Die Datenbank aktualisiert wird (markiert mit SSMS), aber wenn ich die Seite neu zu laden, muss der Wert noch nicht aktualisiert und ich das Debuggen in Visual Studio neu starten, um es aktualisiert zu machen, was soll ich tun? Danke
Wie verwalten Sie die Lebensdauer Ihrer Datenbank Kontext? machst du etwas wie: using (var db = new DatabaseContext()) {// Datenzugriff hier durchführen} siehe: https://msdn.microsoft.com/en-gb/data/jj729737.aspx –
Hmm ich benutze es so: private static UserContext db = neuer UserContext(); und dann wie folgt aufrufen: var Employee = db.Employee.SqlQuery (strquery, Convert.ToInt32 (EmpId)). FirstOrDefault(); ist das falsch? und wie hängt es mit meinem Fall zusammen? – Fimblutterr
Wenn Sie sicher sind, dass die Abfrage korrekt ist und Sie sehen, dass Änderungen am Backend mit Hilfe von ssms vorgenommen werden, aber die Änderungen nicht in Ihrer App widergespiegelt werden .. Ich denke, das ist ein guter Hinweis darauf, dass ein Problem mit der Kontext. Es sieht so aus, als würden Sie den Kontext nicht ordnungsgemäß entsorgen, indem Sie Ihren Datenzugriff in eine using-Anweisung wie im vorherigen Kommentar einfügen, und der Link würde automatisch darüber verfügen. Wenn das Ihr Problem nicht löst, würde ich mich darauf konzentrieren auf Ihrer Abfrage –