1

我正在尝试将 JSON 格式的数据发布到这样的 .NET MVC 控制器。

$.ajax({
         type: 'POST',
         url: 'http://mvc.tester.local/Home/NameConverter',
         data: JSON.stringify({ convertermodel.InputName: obj.currentTarget.value }),
         contentType: 'application/json'
});

但是 Javascript 抱怨这JSON.Stringify()一点。确切地说
convertermodel.InputName

问题是我实际上需要这样的 JSON 数据名称,即与模型中的属性具有相同的名称;为了利用反射进行自动绑定。

这是我的模型:

public class NamesViewModel
{
    public NameConverterModel convertermodel = new NameConverterModel();        
}

和子类

public class NameConverterModel
{
    private string _inputName = "";
    public string InputName
    {
        get { return _inputName; }
        set { _inputName = value; }
    }    
}

请问我该如何解决?

我希望我足够清楚。

4

1 回答 1

1

你需要你的 JSON 是这样的结构:

{"convertermodel" : {
                      "InputName" : obj.currentTarget.value
                    }
}

您的对象的 JSON 表示需要反映您尝试在客户端建模的对象模型所需的适当嵌套。因此,通过将层次结构嵌套在一个级别来定义 JSON 是行不通的——您需要像在 C# 代码中那样创建对象的对象。

于 2012-08-19T00:40:51.950 回答