简体   繁体   中英

using c# webrequest to interact with an asp.net mvc 3 website

I created a simple mvc3 site with a home controller with these actions.

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;}
    }

How do I use c# webrquest to get the json and post to these action urls???

A WebClient is much easier than a WebRequest :

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

Darin's answer is good... but if you are looking to get the result from your method that returns a JSON payload, and you'd like that in C#... I'd do this:

var client = new WebClient();

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

var serialzier = new JavaScriptSerializer();

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

From there, you can have access to MyIOThing.IOName .

The JavaScriptSerializer is in the System.Web.Extensions assembly, in the System.Web.Script.Serialization namespace.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM