我在MVC3上的RESTful应用程序中有这个动作:
[HttpPut]
public void Rest(ViewModel view_model, int id)
{
//doing something with view_model
}
其中ViewModel
类是一个用于向/从客户端Javascript传递数据的类(我不想传递纯数据库实体):
public class ViewModel
{
public ViewModel() //parameterless constructor, needed for accepting as parameter in action
{
}
public ViewModel(Model m)
{
id = m.ID;
Title = m.Title;
}
public int? id { get; set; }
private string _title;
public string Title
{
get
{
if (String.IsNullOrWhiteSpace(_title)) throw new Exception("Empty field");
return _title;
}
set
{
_title = value;
}
}
}
但是当我使用该数据发出PUT请求时:
{ "id" : 7, "Title" : "Hello world!" }
我得到了#34;空场"例外。似乎有些东西试图 获取 标题属性,甚至 之前 设置 传入" Hello world!"数据。 为什么呢?
在哪里可以得到一些信息,整个操作如何工作,即在实际的XHR请求中查找指定为动作参数的对象ViewModel
。
感谢您的想法。