반응형
GET 방식에서 배열변수를 파라미터 값으로 전달해보자
GET 방식으로 파라미터 전달 |
GET 방식으로 파라미터 전달하면 정상적으로 값이 넘어간다.
var params = { name:"손꽁쥐", id:"ggmouse" };
location.href = "./getUserInfo?" + $.param(params);
public ActionResult getUserInfo(string name, string id)
{
var userName = name; // 손꽁쥐
var userId = id; // ggmouse
...
return View();
}
자 이제 배열을 넘겨볼까?
아래의 코드와 같이 배열 값을 파라미터로 넘기려 했으나 값이 정상적으로 넘어가지 않았다.
var user = [{name:"손꽁쥐", id:"ggmouse"},{name:"우빙구", id:"bbing"}];
var params = { users : user };
location.href = "./getUserInfo?" + $.param(params);
public ActionResult getUserInfo(EntityUser users)
{
var userName = user.name; // null
var userId = user.id; // null
...
return View();
}
자 그럼 어떻게 해결해볼까?
파라미터 JSON 문자열로 전달 |
배열을 전달할 수 없다면! 값을 JSON 문자열 형태로 만들어서 넘겨보자
var user = [{name:"손꽁쥐", id:"ggmouse"},{name:"우빙구", id:"bbing"}];
var params = { strUsers: JSON.stringfy(user)};
location.href = "./getUserInfo?" + $.param(params);
public ActionResult getUserInfo(string strUsers)
{
List<EntityUser> users = null;
users = JsonConvert.DeserializeObject<List<EntityUser>>(strUsers);
foreach(var user in users)
{
var userName = user.name;
vAR userId = user.id;
}
...
return View();
}
이렇게 배열을 JSON.stringfy를 통해 JSON문자열로 만든 뒤 넘기고
받은 JSON문자열을 JsonConvert.DeserializeObject로 파싱하여 users에 넣어준다.
반응형
'프로그래밍 > C# ' 카테고리의 다른 글
[C#] XML 파일 쓰기 (줄 바꿈 등 출력 형식 지정) (0) | 2019.10.14 |
---|---|
[C#] 개체 참조가 개체의 인스턴스로 설정되지 않았습니다. (2) | 2019.10.01 |
[C#] MVC View (Razor) (0) | 2018.10.22 |
[C#] MVC Model (0) | 2018.10.22 |
[C#] C# ASP.NET 웹 프로그래밍 (0) | 2018.10.22 |