0

この URL を送信すると:

http://localhost:3333/User/GetAll?_dc=1345288777353&page=1&start=1&limit=25&callback=Ext.data.JsonP.callback2 

コントローラーは逆シリアル化されませんPagingModel page。デバッガーはそれを示していpage = nullます。

public class PagingModel
{

    public string start { get { return _start; } set { _start = value; } }
    private string _start;

}

public class UserController : Controller
{

    [HttpGet]
    public JsonResult GetAll(PagingModel page)
    {
           ///////////////////
           //page is null.
           ///////////////////
    }
}
4

1 に答える 1

1

おっと、アクション パラメータの名前を変更してください:

[HttpGet]
public JsonResult GetAll(PagingModel model)
{
   ///////////////////
   // model is no longer null
   ///////////////////
}

その理由はpage=1、リクエストにクエリ文字列パラメーターが既に含まれているため、デフォルトのモデルバインダーが暴走して、明らかに起こりにくい値1を逆シリアル化しようとしているからです。PagingModel

于 2012-08-18T11:44:51.210 に答える