asp.net-mvc-4 – 如何在mvc4中将Json字符串发送到Controller并反序列化json

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – 如何在mvc4中将Json字符串发送到Controller并反序列化json前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有像下面的json对象
  1. Extension = {
  2. "BookMarks":
  3. [{"Name":"User1","Number":"101"},{"Name":"User2","Number":"102"},{"Name":"User3","Number":"103"}]}

我想将此json字符串发送到我的控制器Action方法并反序列化数据

我想将数据传递给partialview

  1. public ActionResult ExtensionsDialog(var data)
  2. {
  3. return PartialView(data);
  4. }

任何帮助
提前致谢..

解决方法

在您的视图中:
  1. function SendData(){
  2. var dataToSend = JSON.stringify(data);
  3.  
  4. $.ajax({
  5. type: "POST",url: '@Url.Action("YourAction","YourController")',dataType: "json",data: dataToSend,contentType: "application/json; charset=utf-8",});
  6. }
  7.  
  8. $("#Updatebtn").click(function () {
  9.  
  10. sendData();
  11. });

在你的模型:

  1. public class YourModel
  2. {
  3. public String Name { get; set; }
  4. public int Number { get; set; }
  5. }

在您的控制器中:

  1. [HttpPost]
  2. public ActionResult YourAction()
  3. {
  4. var resolveRequest = HttpContext.Request;
  5. List<YourModel> model = new List<YourModel>();
  6. resolveRequest.InputStream.Seek(0,SeekOrigin.Begin);
  7. string jsonString = new StreamReader(resolveRequest.InputStream).ReadToEnd();
  8. if (jsonString != null)
  9. {
  10. JavaScriptSerializer serializer = new JavaScriptSerializer();
  11. model = (List<YourModel>)serializer.Deserialize(jsonString,typeof(List<YourModel>);
  12. }
  13. //Your operations..
  14. }

希望这可以帮助.

猜你在找的asp.Net相关文章