从XHR请求数据MVC3构建动作参数对象

时间:2011-12-26 22:34:30

标签: asp.net-mvc

我在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

感谢您的想法。

0 个答案:

没有答案