Ошибка DBContext при попытке редактирования / обновления - PullRequest
0 голосов
/ 21 сентября 2019

При выполнении встроенного редактирования в таблице jquery / jqgrid я вижу идентификатор (PK) и значения столбцов, которые попадают на мой общедоступный URL-адрес редактирования IActionResult с ответом 200.Однако затем я сталкиваюсь с ошибкой, когда мой DBContext не существует, однако это тот же самый dbcontext, который я использовал для получения данных.Кроме того, не удалось вернуть строковое сообщение?Код до моего редактирования работает, что я делаю не так?

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;
        }
    }
}

1 Ответ

0 голосов
/ 21 сентября 2019

Я удалил чтение только и смог отследить сервер и увидеть поступающий запрос;не могу поверить, что мои глаза не уловили это.Все еще любопытно, как перехватить и вернуть сообщение об ошибке, которое полезно при возврате в IActionResult.Сейчас я изменил его, чтобы он возвращал Ok (), поэтому он не очень полезен, если возникает ошибка.

...