MVC 2 автоматически не преобразует вашу строку JSON в объект C #.Вы можете использовать JavaScriptSerializer , который находится в System.Web.Script.Serialization.Пример:
public ActionResult Index(string customerJson)
{
var serializer = new JavaScriptSerializer();
var customer = serializer.Deserialize<Customer>(customerJson);
return View(customer);
}
Это было бы неплохо как метод расширения (или поместить его в базовый контроллер, если он у вас есть):
public static class ControllerExtensions
{
public T JsonDeserialize<T>(this Controller instance, string json)
{
var serializer = new JavaScriptSerializer();
return serializer.Deserialize<T>(json);
}
}
Затем вы можете использовать его как
public ActionResult Index(string customerJson)
{
var customer = this.JsonDeserialize<Customer>(customerJson);
return View(customer);
}