JQuery를 사용하여 컨트롤러에 데이터를 보내고 있지만 컨트롤러가 데이터를 수신하지 않습니다.ajax 호출을 통해 여러 테이블의 데이터를 보내는 방법은 무엇입니까?
두 테이블의 데이터를 게시하려면 필드가 동적으로 만들어지고 일부는 html에 있습니다. 여기
내 코드의 샘플입니다 :{
coursesarray.push($("#coursename").val());
for (var i = 1; i < counter; i++)
{
var courses = $('#coursename' + i).val();
coursesarray.push(courses);
}
obj.tbl_course = coursesarray;
obj.Name = Name;
$.ajax(
{
type: "POST",
datatype: "json",
contenttype: "application/json/",
url: "/Demo/SaveData/",
data: JSON.stringify(obj),
success: savesuccess,
error:saveerror
});
});
컨트롤러 방법
public JsonResult SaveData(tbl_name tblobj)
{
db.tbl_name.Add(tblobj);
db.SaveChanges();
foreach (var a in tblobj.tbl_course)
{
db.tbl_course.Add(a);
db.SaveChanges();
}
return Json("success", JsonRequestBehavior.AllowGet);
}
그리고 모델은
public partial class tbl_name
{
public int PkId { get; set; }
public string Name { get; set; }
public virtual ICollection<tbl_course> tbl_course { get; set; }
}
이고 두 번째 모델은
public partial class tbl_course
{
public int Pkid { get; set; }
public Nullable<int> FkId { get; set; }
public string Coursename { get; set; }
public string CourseTeacher { get; set; }
public virtual tbl_name tbl_name { get; set; }
}
,369입니다
게시 할 컨트롤러 메서드와 바인딩 할 모델을 표시해야합니다. –
나는 모든 것을 올려 놓았다. –
try data : {JSON.stringify (obj)}, – Ritz