前提・実現したいこと
こんにちは初投稿させて頂きます。
現在C# ASP.NET MVC で開発を進めています。
コントローラーに配列を渡そうとしているのですが以下エラーが発生し困っています。
つい最近まで動いていましたが、急に動かなくなってしまったので原因が絶対あるはずなのですがわからない状況にあります。
もしよろしければご教示頂けますと幸いです
発生している問題・エラーメッセージ
HTTP500: サーバー エラーです - サーバーで予期しない状態が発生したため、要求を完了できませんでした。
POST先:http://localhost:53850/HotelBase/EditProc
javaScript(JQeury)
1<script language="JavaScript"> 2 function editInfoProp() { 3 this.hotelName; 4 this.price; 5 this.name; 6 this.nameKana; 7 this.hotelDete; 8 this.hotelTime; 9 } 10 function editInfo(btnIndex) { 11 var editDelIndex = document.getElementById("editTable"); 12 alert(btnIndex); 13 //var row = editDelIndex.rows[btnIndex]; 14 //var row = this.parentNode.parentNode.rowIndex; 15 //alert(row); 16 var jsonEditData = new editInfoProp(); 17 18 //セルへの参照はrowのcellsプロパティ。 19 jsonEditData.hotelName = editDelIndex.rows[btnIndex].cells[1].innerHTML; 20 jsonEditData.price = editDelIndex.rows[btnIndex].cells[2].innerHTML; 21 jsonEditData.name = editDelIndex.rows[btnIndex].cells[3].innerHTML; 22 jsonEditData.nameKana = editDelIndex.rows[btnIndex].cells[4].innerHTML; 23 jsonEditData.hotelDete = editDelIndex.rows[btnIndex].cells[5].innerHTML; 24 jsonEditData.hotelTime = editDelIndex.rows[btnIndex].cells[6].innerHTML; 25 if (jsonEditData == null) { alert("取得できませんでした。もう一度試してください。"); return; } 26 27 var edit_data = JSON.stringify(jsonEditData); 28 29 $.ajax({ 30 type: "POST", 31 url: "../HotelBase/EditProc", 32 dataType: "JSON", 33 data: { editData: edit_data }, 34 async: true, 35 complete: function (data) { }, 36 error: function (XMLHttpRequest, textStatus, errorThrown) { 37 alert("XMLHttpRequest : " + XMLHttpRequest.status + "\n" 38 + "textStatus : " + textStatus + "\n" 39 + "errorThrown : " + errorThrown.message); 40 return; 41 }, 42 }); 43 44 } 45</script> 46
C#(呼び出し元)
1[HttpPost] 2[HttpGet] 3 public ActionResult EditForDelete() 4 { 5 //HTLReserve htlRsv = new HTLReserve(); 6 //htlReserveDataList htlReserveDataList = new htlReserveDataList(); 7 8 //htlRsv.GetReserve(); 9 var reservationList = _db.hTLReservations.ToList(); 10 11 return View("EditForDelete", reservationList); 12 }
C#(POST先)
1[HttpPost] 2 public ActionResult EditProc(string editData) 3 { 4 editDetails desirializeEditData = JsonConvert.DeserializeObject<editDetails>(editData); 5 ViewBag.hotelName = desirializeEditData.HotelName; 6 ViewBag.price = desirializeEditData.Price; 7 ViewBag.name = desirializeEditData.Name; 8 ViewBag.nameKana = desirializeEditData.NameKana; 9 ViewBag.hotelDate = desirializeEditData.HotelDate; 10 ViewBag.hotelTime = desirializeEditData.HotelTime; 11 12 return View("EditDetails"); 13 }
以上になります。
もし足りない情報・不備がございましたらお申しつけ下さい。
よろしくお願いいたします。
試したこと
①internal Server Error 500エラーなので
POST先に原因があると思いコントローラー側のコードを見ていたのですが、Entityで作成したDbContextで接続したDBのデータを
ToList()してきているので恐らく原因がそこではないかと考えています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
windows10
visual studio 2017
.Net Framework 4.6.1
ASP.NET MVC
回答1件
あなたの回答
tips
プレビュー