error-Status: 'Internal Server Error'. Fehlercode: 500 - jqGrid ASP.NET MVC

Ich bin mit jqgrid Modales Formular zum Hinzufügen und Bearbeiten von Zeilen der Tabelle. Ich bin mit Entity framework und Database-First-Ansatz, um Modelle zu erstellen aus der vorhandenen Datenbank. Wenn ich Hinzufügen oder Bearbeiten Sie die Zeilen, Zeilen Hinzugefügt oder bearbeitet werden, korrekt und entsprechend gespeichert in der Datenbank und wenn ich wieder die Hinzugefügt oder bearbeitet werden Zeilen-und Sicht-im jqGrid, Sie werden richtig angezeigt. Aber, das einzige Problem ist, wenn ich Hinzufügen oder Bearbeiten, es wirft Fehler-Status: 'Internal Server Error'. Fehlercode: 500 in der modalen form.

Wer hat eine Idee, warum das passiert ist? Da das hinzufügen oder Bearbeiten ist passiert, richtig, gibt es eine Möglichkeit, dass ich diese Fehlermeldung ignorieren und machen es gar nicht angezeigt?

Jede Hilfe wird sehr geschätzt!

EDIT:

public ActionResult Create(string oper, string id, Employee employee)
{
try
{
 if (oper == "add")
 {
   if (ModelState.IsValid)
   {
    db.Employees.Add(employee);
    db.SaveChanges();
    return RedirectToAction("Index");   
   }
 }
 if (oper == "edit")
 {
  if (ModelState.IsValid)
  {
    db.Entry(employee).State = EntityState.Modified;
    db.SaveChanges();
    return RedirectToAction("Index");
  }
 }
  if (oper == "del") 
  {
    Employee employees = db.Employees.Find(Int32.Parse(id));
    db.Employees.Remove(employees);
    db.SaveChanges();
    return RedirectToAction("Index");
  }
}
catch (InvalidOperationException ex)
{
}
catch (Exception e)
{
}
}
  • Sollten Sie Debuggen Sie den code, der ausgeführt wird auf der server-Seite auf Hinzufügen/Bearbeiten-operation. Der code hat einen Fehler, der erzeugt eine Ausnahme. Sie können die debug-code Schritt für Schritt beispielsweise zu finden, der Grund des Problems.
  • Führen Sie die Website mit dem debugger angefügt ist, und ich bin sicher, Sie werden sehen, die Ausnahme ausgelöst wird. Sonst, verwenden Sie den browser, debugger tools (Firebug, Chrome Developer Tools, IE-Developer-Tools) zu inspizieren, um die zurückgegebenen Daten aus der Anfrage, sollte ein YSOD
  • Vielen Dank für Ihren Vorschlag. Ich habe debuggt den code und die seltsame Sache ist, dass Sie nicht werfen Sie eine Ausnahme, ich platziert den code in try/catch und bemerkt, dass keine Ausnahme geworfen wird. Ich bin in der Lage, um alle Ausnahmen, die ich bekam, bevor ich war in der Lage, erfolgreich hinzufügen/Bearbeiten der Datensätze und behandelt Sie entsprechend. Aber, nachdem die Datensätze Hinzugefügt wurden/bearbeitet richtig, es wird keine exception gefangen, aber immer noch dieser Fehler geworfen wird. Das ist, was ich bin verwirrt. Irgendwelche Vorschläge, irgendwie den Umgang mit diesem Fehler, der nicht abgefangen wird auf der server-Seite?
  • Ich bin immer diese Fehlermeldung beim hinzufügen/Bearbeiten des Datensatzes, und nicht erwartet, dass alle Daten zurückzugeben und ich war mit dem debugger zu Debuggen, der server-Seite code, der aber keine Ausnahme abgefangen ist. Vielen Dank für Ihren Vorschlag.
  • Wahrscheinlich haben Sie verwendet ein Falsches format der Daten und den code des "Hinzufügen"/"Bearbeiten" - Implementierung der server-Seite wurde überhaupt nicht ausgeführt. Tun Sie debuggt den code lokal? Ist die entsprechende Methode aufgerufen wurde? Sie können Spielmann, Firebug oder Netzwerk-tab der Developer Tools von IE oder Chrome, um trace-HTTP-Verkehr. In jedem Fall hat der Fehler 500 bedeutet, dass die Anfrage von jqGrid produzierte einige Fehler im server-code (wahrscheinlich in ASP.NET Teil des Codes, bevor Ihr code aufgerufen wurde). Sollten Sie post einige code-Fragmente.
  • ich war gefangen in einer ähnlichen Art von problem, Dank Oleg, ich gedebuggt meinem code, und das problem, das ich habe ist, dass ich war das versenden von null-Werten aus meiner Sicht zum regler. Also, wenn Sie öffnen können, fiddler ' und bestätigen, dass Daten an den server und geht im richtigen format und dann schreiben Sie die richtigen Parameter in ur controller-Methode zu akzeptieren, dass Daten?
  • und als ich Recht, sagte Oleg, bitte fügen Sie einige code hier
  • HTTP 500-Fehler bedeutet, dass eine client-Anfrage wurde zu Ihrem server hergestellt und dann dem server sagt "Woah, etwas ist nicht richtig hier". Sie sollten zumindest immer eine YSOD zurück (während der AJAX-Anfragen, diese nicht zeigen, bis in den Inhalten der Seite, so müssen Sie untersuchen das zurückgegebene Antwort in einer Art browser/HTTP-Werkzeug wie oben erwähnt)
  • Ja, ich habe debuggt den code lokal und die Methode aufgerufen wird, richtig, und ich war in der Lage, Schritt durch jede Zeile in der Methode, bis die Daten richtig gespeichert in der Datenbank. Also, ich bin ziemlich sicher, dass der code ausgeführt wird, vollständig ohne Fehler, da war ich in der Lage, um zu sehen, alle Werte richtig ausgelesen und die änderungen erfolgreich geändert. Ich bin sicher, dass keine Ausnahme ausgelöst wird während des Debuggens den code da nicht die Ausnahme wird im catch-block abgefangen. Ich bin sicher, dass alle Werte gespeichert werden, in das richtige format zu, das macht mich verrückt..ich werde meine controller-action Umsetzung...
  • Ja, ich bin sicher, ich bin das senden der Daten in das richtige format und ich bin in der Lage, zu Debuggen und finden Sie alle Daten, die abgerufen und ordnungsgemäß gespeichert. Ich poste meinen code jetzt..
  • Dein controller scheint in Ordnung zu mir, Sie Verstand posten Sie code anzeigen?
  • Vielen Dank für den Versuch mir zu helfen. Ich werde nach meinem javascript ein wenig, in der Zwischenzeit, können Sie einen Blick auf meine andere Frage hier gepostet...jede Anregung ist wirklich hilfreich. Danke. stackoverflow.com/questions/11750121/...
  • Vielen Dank an alle für all Ihre Vorschläge. Ich endlich herausgefunden, was ich falsch machte, schauen Sie sich bitte die Antwort.

Schreibe einen Kommentar