使用c#webrequest与asp.net mvc 3网站进行交互

时间:2011-10-15 18:34:50

标签: c# asp.net-mvc json webrequest

我使用带有这些操作的家庭控制器创建了一个简单的mvc3站点。

public JsonResult Param(string id)
        {
            string upper = String.Concat(id, "ff");
            return Json(upper);
        }
        public ContentResult Param2(string id)
        {
            string upper = String.Concat(id, "ff");
            return Content( upper);
        }
        public JsonResult Param3(string id)
        {
            string upper = String.Concat(id, "ff");
            io gg = new io();
            gg.IOName = upper;
            return Json(gg);
        }
    }
    public class io
    {
         public string IOName {get;set;}
    }

如何使用c#webrquest获取json并发布到这些操作网址???

2 个答案:

答案 0 :(得分:5)

WebClientWebRequest容易得多:

using (var client = new WebClient())
{
    var data = new NameValueCollection
    {
        { "id", "123" }
    };
    byte[] result = client.UploadValues("http://foo.com/home/param", data);
}

答案 1 :(得分:5)

Darin的答案很好......但是如果你想从你的方法中获得返回JSON有效负载的结果,并且你在C#中喜欢它...我会这样做:

var client = new WebClient();

var result = client.DownloadString("http://foo.com/home/param3/SomeID");

var serialzier = new JavaScriptSerializer();

io MyIOThing = serialzier.Deserialize<io>(result);

从那里,您可以访问MyIOThing.IOName

JavaScriptSerializer位于System.Web.Extensions命名空间中的System.Web.Script.Serialization程序集中。