2010-10-24 64 views
4

Phil Haack的blog entry描述了使用ASP.NET MVC 2的期货和Crockford的json2.js这个过程。 John Resig还建议在this article中使用关于“严格使用”的Crockford's json2.js ;.ASP.NET MVC2和JSON模型绑定到动作方法验证

今天要获得这个功能,你还会下载MVC 2 Futures,还是包含在MVC 2 final中,还是新MVC 3预览的这一部分?

编辑:

按的Jakub的建议(!和菲尔哈克,活泉),我的脚本最后的作品。对他们俩都很感激。

<script type="text/javascript"> 
$(document).ready(function() { 

    var myData = {}; 
    myData.value = '9/14/2010 12:00:00 AM'; 
    var myJson = JSON.stringify(myData); 

    $.ajax({ 
     type: "POST", 
     url: "/AdSketch/GetPrintProducts", 
     data: myJson, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (result) { 
      alert(result); 
     } 
    }); 
}); 
</script> 

的MVC控制器代码:

public JsonResult GetPrintProducts(string value) 
{ // At this point "value" holds "9/14/2010 12:00:00 AM" 
    return Json(value); 
} 

回答

3

对于MVC2你需要期货。获取DLL,添加引用,并在Global.asax中添加(的Application_Start):

ValueProviderFactories.Factories.Add(new JsonValueProviderFactory()); 

不知道有MVC3 - 我在等待一个RTM。 但我鼓励你给它一个去,如发送JSON高达操作是一个纯粹的幸福;-)

+0

非常感谢。 – 2010-10-24 17:40:19

+0

不客气。 – 2010-10-24 19:21:11

+0

作为对Jakub评论的评论,这完全是MVC3开箱即用的,它的功能非常棒! – Zacho 2011-03-01 17:09:54

2

在MVC 3,提供了开箱ValueProviderFactories