使用model.save()或fetch()时如何读取值?

时间:2014-08-06 06:08:01

标签: asp.net json backbone.js

Man = Backbone.Model.extend({
        url:'/test.aspx',
        initialize: function(){
        },
        defaults: {
            name:'Jim',
            age: '38'
        },
        validate:function(attributes){
            if(attributes.name == '') {
                return "name can't be null";
            }
        }
    });
    var man = new Man;
    man.set({name:'the5fire'});
    man.save();  //the format is json{"name":"the5fire","age":38}

test.aspx.cs中,如何阅读此值{"name":"the5fire","age":38}

我尝试了Request.Form.ToString(),但没有找到数据。

Chrome开发者工具在"请求有效负载"中显示此json格式数据。块。


更新

如果我使用man.fetch({ data: { Pagesize: '1', PageIndex: '111' } ),那么在服务器端,我可以使用Request.Params["PageIndex"]。但我怎么能得到这个名字?年龄?

1 个答案:

答案 0 :(得分:0)

您可以通过HttpRequest.InputStreamconvert it to a string

访问请求的原始正文
string jsonstring = new System.IO.StreamReader(Request.InputStream).ReadToEnd();

然后你会deserialize this string to get an object,例如:

using System.Web.Script.Serialization;
JavaScriptSerializer jss = new JavaScriptSerializer();
var d = jss.Deserialize<dynamic>(jsonstring);
string name = (string)d["name"];