当在jquery / jqgrid表中执行内联编辑时,我看到ID(PK)和列值出现在我的公共IActionResult编辑URL中,响应为200。但是,然后我遇到一个错误,其中我的DBContext不存在,但是它与我用来检索数据的dbcontext相同。另外,无法返回字符串消息吗?直到我的Edit起作用的代码,我在做什么错了?
namespace MyProject.Controllers
{
public class CheckRequestController : Controller
{
private readonly MyDBContext _context;
public CheckRequestController(MyDBContext context)
{
_context = context;
}
public IActionResult Index()
{
return View();
}
public IActionResult LoadData()
{
try
{
var fileData = (from tempFile in _context.CheckRequest
select tempFile);
var data = fileData.ToList();
return Json(data);
}
catch (Exception)
{
throw;
}
}
// I'm trying to run an update to the row in SQL Server. I see my ID and the values come across 200 status but can't update.. Also can't return string from IAction
// Also can't return string from IActionResult or ActionResult. How to return message if failure
public IActionResult Edit(CheckRequest checkrequests)
{
try
{
if (ModelState.IsValid)
{
using (MyDBContext db = new MyDBContext())
{
db.Entry(checkrequests).State = EntityState.Modified;
db.SaveChanges();
}
}
}
catch (Exception ex)
{
//msg = "Error occured:" + ex.Message;
var msg = new string[] { "Error occured:" + ex.Message };
}
return msg;
}
}
}
答案 0 :(得分:0)
我删除了只读文件,并能够跟踪服务器并看到请求通过;简直不敢相信我的眼睛没有抓住那个。仍然好奇如何捕获和返回错误消息,尽管该错误消息在IActionResult返回时很有用。现在,我将其更改为返回Ok(),因此如果发生错误,它并不是真正有用的。