遇到标题中所说的问题原因是使用 jQuery AJAX 以 POST 方式调用 Asp.Net Web API 。解决办法请看以下代码中有注释的部分。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Formatters.Clear();
config.Formatters.Add( new JsonMediaTypeFormatter {
SerializerSettings = {
ContractResolver = new DefaultContractResolver()
}
} ); // 添加以下语句即可解决问题
config.Formatters.Add( new JQueryMvcFormUrlEncodedFormatter() );
}
}