Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 错误状态:';内部服务器错误';。错误代码:500-jqGrid ASP.NET MVC_Asp.net Mvc_Entity Framework_Jqgrid_Jqgrid Asp.net - Fatal编程技术网

Asp.net mvc 错误状态:';内部服务器错误';。错误代码:500-jqGrid ASP.NET MVC

Asp.net mvc 错误状态:';内部服务器错误';。错误代码:500-jqGrid ASP.NET MVC,asp.net-mvc,entity-framework,jqgrid,jqgrid-asp.net,Asp.net Mvc,Entity Framework,Jqgrid,Jqgrid Asp.net,我正在使用jqgrid模式表单添加和编辑表中的行。我使用实体框架和数据库优先的方法从现有数据库创建模型。当我添加或编辑行时,行被正确添加或编辑并适当保存在数据库中,当我检索添加或编辑的行并在jqGrid中查看时,它们被正确显示。但是,唯一的问题是,当我添加或编辑时,它会抛出错误状态:“内部服务器错误”。错误代码:模态形式中的500 有人知道为什么会这样吗?由于添加或编辑操作正常,是否有办法忽略此错误消息并使其完全不显示 非常感谢您的帮助 编辑: public ActionResult Creat

我正在使用jqgrid模式表单添加和编辑表中的行。我使用实体框架和数据库优先的方法从现有数据库创建模型。当我添加或编辑行时,行被正确添加或编辑并适当保存在数据库中,当我检索添加或编辑的行并在jqGrid中查看时,它们被正确显示。但是,唯一的问题是,当我添加或编辑时,它会抛出错误状态:“内部服务器错误”。错误代码:模态形式中的500

有人知道为什么会这样吗?由于添加或编辑操作正常,是否有办法忽略此错误消息并使其完全不显示

非常感谢您的帮助

编辑:

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)
{
}
}

谢谢大家的建议。我知道我做错了什么。事实上,问题不在于数据格式不正确或代码没有被命中,问题在于我将更改保存到数据库后,这就是为什么它没有被捕获到异常块中

将对数据库的更改保存为[db.SaveChanges()]后,我将重定向到索引操作。这就是问题所在。我重定向到错误的索引操作。此索引操作中的代码试图返回null值,因此引发ArgumentNullException并显示YSOD


注意:我能够通过事件查看器发现ArgumentNullException。在Run和Goto Windows Logs-应用程序中键入事件查看器。您将能够看到应用程序的所有警告。打开警告,转到常规选项卡,您将能够看到引发了何种异常。希望这能帮助有需要的人。

您应该调试添加/编辑操作时将在服务器端执行的代码。代码有一个bug,它会产生一个异常。例如,您可以一步一步地调试代码,以找到问题的原因。在安装了调试器的情况下运行站点,我相信您会看到引发异常的情况。否则,请使用浏览器调试器工具(Firebug、Chrome开发者工具、IE开发者工具)检查请求返回的数据,这应该是YSOD@Oleg:谢谢你的建议。我调试了代码,奇怪的是它没有抛出任何异常,我将代码放在try/catch中,并注意到没有抛出异常。在我能够成功添加/编辑记录并适当处理它们之前,我能够查看我得到的所有异常。但是,在正确添加/编辑记录后,不会捕获任何异常,但仍会引发此错误。这就是我所困惑的。有什么建议可以处理这个服务器端没有捕获到的错误吗?@Andrewburges:我在添加/编辑记录时遇到这个错误,不希望返回任何数据,我正在使用调试器调试服务器端代码,但没有捕获到异常。谢谢您的建议。@inspiring我自己:可能您使用了错误的数据格式,服务器端的“添加”/“编辑”实现代码根本没有执行。您是否在本地调试了代码?是否调用了相应的方法?您可以使用IE或Chrome的开发者工具的网络选项卡来跟踪HTTP流量。无论如何,错误500意味着jqGrid的请求在服务器代码中产生了一些错误(可能是在调用代码之前代码的ASP.NET部分)。您应该发布一些代码片段。