ASP.NET MVC 및 jQuery를 사용하여 AJAX 호출을 통해 일부 데이터를 저장하고 있습니다. 현재 jQuery ajax() 함수를 사용하여 일부 JSON 데이터를 전달합니다.JSON 데이터를 컨트롤러 메서드에 객체 선언없이 전달
$.ajax({
dataType: 'json',
type: 'POST',
url: '@Url.Action("UpdateName", "Edit")',
data: {
id: 16,
name: 'Johnny C. Bad'
}
});
이 컨트롤러 메서드와 헬퍼 클래스를 사용합니다.
public void UpdateName(Poco poco)
{
var person = PersonController.GetPerson(poco.Id);
person.Name = poco.Name;
PersonController.UpdatePerson(person);
}
public class Poco
{
public int Id { get; set; }
public string Name { get; set; }
}
JSON 데이터를 수용하는 또 다른 방법은 단순히이
public void UpdateName(int id, string name)
{
var person = PersonController.GetPerson(id);
person.Name = name;
PersonController.UpdatePerson(person);
}
이러한 접근 방식은 인수의 작은 숫자에 대한 확인,하지만 내 실제 코드는 일반적으로 약 5있다 것처럼 여러 인수를 사용하는 것입니다 - 10 개의 주장. 이 모든 인수를 선언하고 사용해야하는 대신 오브젝트를 사용하면 매우 편리합니다.
나는이 방법을 사용하려는 각 컨트롤러 메소드에 대한 클래스를 선언하는 데 하나의 개체로 JSON 데이터를 받아들이고하지 않는 다른 방법이 있다면 내가 wondernig있어예를 들어,이 같은 :.
public void UpdateName(dynamic someData)
{
var person = PersonController.GetPerson(someData.Id);
person.Name = someData.Name;
PersonController.UpdatePerson(person);
}
당신이 할 수있는 복잡한 개체를 JSon으로 변환하는 한 확실히 게시하십시오. 복잡한 객체를 jscript 또는 Razor 변수로 빌드 하시겠습니까? –
또 다른 옵션은 json 데이터를 문자열로 받아서 작업에서 비 직렬화하는 것입니다. –
http://stackoverflow.com/questions/11608026/asp-net-mvc-can-json-object-be-passed-to-a-controller-with-parameter-with-dynami –