Asp.net mvc 来自代码隐藏的web api调用

Asp.net mvc 来自代码隐藏的web api调用,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我对MVCWebAPI非常陌生 我已经编写了一个WebAPI Post方法,它接受一个对象类型包并返回一个HTMLString,代码如下所示 public HtmlString PostBag(Bag bagofItem) { return Utility.PostBagDiscountedItem(bagofItem); } 现在在我的网站上,我想从控制器PostBag调用API方法PostBag 我不知道如何去做,如果有人能告诉我如何去做,我将不胜感激 我在

我对MVCWebAPI非常陌生

我已经编写了一个WebAPI Post方法,它接受一个对象类型包并返回一个HTMLString,代码如下所示

public HtmlString PostBag(Bag bagofItem)
    {
       return  Utility.PostBagDiscountedItem(bagofItem);
    }
现在在我的网站上,我想从控制器PostBag调用API方法PostBag

我不知道如何去做,如果有人能告诉我如何去做,我将不胜感激

我在我的web应用程序中得到的信息如下

public class HomeController : Controller
{
    private Bag _bag = new Bag();
    private string uri = "http://localhost:54460/";

 public ActionResult PostBag()
    {
          // would some one show me how to POST the _bag to API Method PostBag()

        return View();
    }

public class Bag 
{
    private static  List<Product> _bag { get; set; }

    public List<Product> GetBag ()
    {
        if (_bag == null)
            _bag = new List<Product>();
       return _bag;
    }
}
试试这个:

using (var client = new HttpClient())
{

   client.BaseAddress = new Uri("http://localhost:54460/");

   client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

   HttpResponseMessage response = await client.GetAsync(_bag);

   if (response.IsSuccessStatusCode)
   {
       Console.WriteLine("Success");
   }
   else
   {
       Console.WriteLine("Error with feed");
   }
}