에 아약스 호출에서 받았다 객체를, 변환 할 수 없습니다, 나는 내 컨트롤러에서이 방법을내가 Asp.Net-MVC를 사용하고 긴
$.post("/Account/LinkAccount", { site: "Facebook",
id: FB.Facebook.apiClient.get_session().uid },
function(result) {
alert(result);
}, "json"
);
this.Json (id); 경고가 작동합니다 ... 경고 7128383 (비슷한). 내가 개체를 변환 할 수없는 이유의 어떤 생각이 오래에 객체로부터받은
하지만 this.Json(Conver.ToInt64(id));
에 this.Json(id)
을 변경하는 경우 경고가 발생하지 않습니다 ...?
내가 이미 알고있는 대신 LinkAccount
을 받아들이는 방법을 변경하는 것이 좋습니다. 연결되는 다른 사이트에는 ID보다는 오랫동안 문자열이 있기 때문에 개체로 사용해야합니다.
업데이트 : 내가 breakpoint를 설정할 수 있도록 localhost에서 코드를 실행 해 보았습니다. 먼저 return this.Json(Convert.ToInt64(id));
을 long idAsLong = Convert.ToInt64(id));
으로 변경했습니다. 여기에 디버거가 나에게 말하고있는 작업은 다음과 같습니다
내가 아이디 위에 마우스를하는 경우는 말한다 : "ID | {문자열 [1]}"
내가 더하기 버튼을 누를 때이다 쇼 "[ 0] | '7128383' "내가 idAsLong 위로 마우스를 가져가 말한다 :"idAsLong | 0 "
왜 제대로 변환되지 않습니까?
이것은 무엇입니까? Json합니까? Int64를 수용 할 수 있습니까? – shahkalpesh
그래서, id는 Int64로 변환 할 수없는 문자열 배열입니다. 0 번째 요소는 실제 ID (Int64로 변환 가능)를 포함합니다. long idAsLong = Convert.ToInt64 (id [0]); – shahkalpesh
id가 객체이므로 [0]과 같은 인덱스를 사용할 수 없다는 점을 제외하고는 올바른 shahklapesh였습니다. 대신 무엇이 효과가 있었습니까? Convert.ToInt64 (((string []) id) [0]). 당신의 도움을 주셔서 감사합니다. 대답에서 말한 내용을 다시 써 주시면 신용/담당자에게 알려 드릴 것입니다. – Matt