매개 변수로 "ContentList"객체를 사용하는이 api 컨트롤러 작업이 있습니다. 내가 지금까지 시도 무엇HttpWebRequest, WebClient 등을 사용하여 MVC 컨트롤러에 객체를 게시하십시오.
[HttpPost]
public List<string> SendList(string param, ContentList list)
{
List<string> testReturn = new List<string> { "test1", "test2", "test3", "test4" };
return testReturn ;
}
이 같은 컨트롤러 액션 호출하는 것입니다 :
Uri _uri = new Uri("http://localhost:xxxxx/api/FakeTest/SendList?param=test");
var serializer = new JavaScriptSerializer();
string requestData = serializer.Serialize(new
{
list = ContentList,
});
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var result = client.UploadData(_uri, Encoding.UTF8.GetBytes(requestData));
var tempString = Encoding.UTF8.GetString(result);
}
이 예 tempString는 = [ "TEST1", "TEST2", "TEST3"에서 "를 테스트 4 "] 컨트롤러 동작에 의해 재 호출 된 것처럼 ...
컨트롤러 작업에서 전달 된 ContentList의 속성에 액세스하고 해당 값을 반환 할 수 있습니다 (물론 그에 따라 동작 반환 값을 변경).
그러나 컨트롤러 동작에서 추가 처리를 위해 ContentList 개체를 보내야하며 실패 할 것으로 보입니다. 내가 500 내부 서버 오류가 발생하고 전달 된 값을 따르도록 컨트롤러에 중단 점을 넣을 수 없습니다. 디버거가 절대로 안타 ...
이 json 보내기 컨트롤러 동작.
어쨌든 ContentList가 컨트롤러 동작에서 전송 된 코드에 의해 거부 된 것 같습니다. 그래서 일종의 역 직렬화가 필요합니다. 그렇습니까?
결론 코드에서 컨트롤러 동작을 호출하고 C# 개체를 전달하고 컨트롤러 동작에서 사용할 수 있도록 올바른 방법은 무엇입니까?
그것은 실제로 MVC의 4 API 컨트롤러. – Soeren
이 질문을 확인, json 정보를 컨트롤러에 전달하는 방법을 설명합니다. http://stackoverflow.com/questions/560575/asp-net-mvc-how-to-pass-json-object-from-view-to- 매개 변수로서의 제어기 – Bardo