Extjs float值在c#controller中作为null传递

时间:2014-02-09 01:38:39

标签: c# asp.net-mvc floating-point

我在extjs模型中有一个浮点值。由于某种原因,我输入并传递给c#controller的任何值,其值始终为null。我检查了json数据是否通过,我可以看到传递的值。

这是我的extjs模型

fields: [
    { name: 'Id', type: 'int' },
    { name: 'FloatValue', type: 'float' },
    { name: 'RecId', type: 'int' },
    { name: 'Valid', type: 'bool' }
 ]

C#

public class EmployeeRecord
{
    public int Id { get; set; } 
    public double? FloatValue { get; set; }
    public int RecId { get; set; }
    public bool Valid { get; set; }
}

JsonObject传递给控制器​​

{ Id: 0, FloatValue: 0.1, RecId: 12, Valid: true }

在C#debug上,'FloatValue'的值始终为null。

这里有什么我想念的东西。

更新 -

var employee = new Object();
employee.Id = 0;
employee.FloatValue = 0.1;
employee.RecId = 12;
employee.Valid = true;

Ext.Ajax.request({
        method: 'POST',
        scope: this,
        url: 'EmployeeController/UpdateRecord',
        headers: { 'Content-Type': 'application/json' },
        dataType: 'json',
        jsonData: { employeeRec: employee },
        success: function (Response) {},
        failure: function () {}
});

C#

public static EmployeeRecord UpdateRecord(IList<EmployeeRecord> employeeRec)
    {
        //Here employeeRec.FloatValue is null but other property has their values.
    }

1 个答案:

答案 0 :(得分:0)

这种行为在getter或setter中可能会出现错误。你可以给setter提供正确的valur,但是如果它设置得很糟糕,或者getter之后得到的东西比写的更多,你可以很容易地看到null。

最有可能的吸气剂或灭火器根本不会起作用。