2015-05-09 84 views
-1

我創建了一個網頁API在我傳遞兩個列表項等字符串參數列表項,所有的字符串參數獲得通過,但只列出參數獲得的Web API空。這是我的代碼。如何與字符串作爲參數傳遞給網頁API傳遞mvc4

public class CourseDetails 
    {      
     public string Name { get; set; } 
     public string Price { get; set; } 
     public string Domain { get; set; }    

     public List<SuggestedAndFAQ> SuggestedReadingList { get; set; } 
     public List<SuggestedAndFAQ> FAQList { get; set; }    
    } 

    [HttpPost] 
    public string SaveCourse([FromBody] CourseDetails CD) 
    { 
     string strResult = "N"; 
     using(ICALMSAdminEntities db= new ICALMSAdminEntities()) 
     { 
      // My code 
     } 
    } 

調用Web API ...

public string SaveCourse(CourseDetails CD) 
    { 
     string uri1 = "http://xxx/myWebApi"; 
     using (WebClient wc = new WebClient()) 
     { 
      string newUri = uri1 + "/SaveCourse";     
      string myParameters = "Name=" + CD.Name + "&Domain=" + CD.Domain + "&Price=" + CD.Price+ "&SuggestedReadingList=" + CD.SuggestedReadingList + "&FAQList=" + CD.FAQList; 
      wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
      return JsonConvert.DeserializeObject<string>(wc.UploadString(newUri, myParameters)); 
     } 
    } 

回答

0

其實你沒有發佈數據,正確的格式(JSON)。您可以使用PostAsJsonAsync方法與WebClient一樣:

CourseDetails classDetails= CourseDetails 
{ 
// set data in CourseDetails instance 
}; 

string uri1 = "http://xxx/myWebApi"; 
     using (WebClient wc = new WebClient()) 
     { 
var response = wc.PostAsJsonAsync(uri1, classDetails).Result; 

// other stuff 

return response.Content.ReadAsAsync<CourseDetails>().Result; 

} 
+0

您的代碼顯示錯誤... – Raghubar

+0

請分享錯誤的詳細信息。如本例所示的JSON數據被髮送。 –

相關問題