为什么我的一些价值观没有被webapi填充

时间:2015-05-20 17:36:41

标签: javascript c# asp.net-web-api

我正在开发一个web-api控制器。我建立了一个DTO来持注。

    rowIndex=0;
    while(rowIndex < table.length) {
        present_row = $("#table").append("<tr></tr>");

        itemIndex= 0;                
        while(itemIndex < table[rowIndex].length) {
            present_row.append("<td class='tableItem'>"+ table[rowIndex][itemIndex] +"</td>");
            itemIndex+=1;
        }
        rowIndex+=1
    }
}

我的控制器中有一个方法:

public class NoteContainer
{
    public long? NoteId { get; set; }
    public string Type { get; set; }
    public string NoteText { get; set; }

    public NoteContainer(Note note, string type = null)
    {
        NoteId = note.Id;
        NoteText = note.NoteText;
        Type = type;
    }
}

在从客户端发送NoteContainer之前,它具有所有值。当它到达服务器时,键入为null!我不应该使用名为type的变量吗?为什么我会失去价值?

使用Postman我发送这个json:

    [HttpPost]
    public void EditNote(NoteContainer container)
    {
        //do work here
    }

1 个答案:

答案 0 :(得分:2)

我相信这需要默认构造函数。问题可能是Note类首先被实例化并被赋予NoteContainer