2015-05-09 55 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数据被发送。 –

相关问题