Asp.net mvc System.Web.HttpRequestBase不包含';CreateResponse';
我在该方法中遇到以下错误:Asp.net mvc System.Web.HttpRequestBase不包含';CreateResponse';,asp.net-mvc,http,Asp.net Mvc,Http,我在该方法中遇到以下错误: [HttpGet] public HttpResponseMessage Search([ModelBinder(typeof(ApiDataTablesModelBinder))] IDataTablesRequest requestModel) { var sortedColumn = requestModel.Columns.GetSortedColumns().Si
[HttpGet]
public HttpResponseMessage Search([ModelBinder(typeof(ApiDataTablesModelBinder))] IDataTablesRequest requestModel)
{
var sortedColumn = requestModel.Columns.GetSortedColumns().SingleOrDefault();
bool isDesc = false;
string sortField = "ID";
// get all projects and order them
var projects = lkp_surveyRepo.GetAll();//.OrderBy(sortField, isDesc).ToList();
// filtered projects
var filteredResults = projects;
filteredResults = projects.Where(x => x.code == selectedDistrictID);
var pagedResults = filteredResults.Skip(requestModel.Start).Take(requestModel.Length);
var result = Request.CreateResponse(HttpStatusCode.OK, new DataTablesResponse(requestModel.Draw, pagedResults, filteredResults.Count(), projects.Count()));
return result;
}
我的控制器正在实现控制器:
public class HomeController : Controller
{
我发现了这个问题,但答案对我没有帮助:
完全错误为:
错误13“System.Web.HttpRequestBase”不包含定义
对于“CreateResponse”和最佳扩展方法重载
'System.Net.Http.HttpRequestMessageExtensions.CreateResponse(System.Net.Http.HttpRequestMessage,
System.Net.HttpStatusCode,T)“”具有一些无效参数
你知道我做错了什么吗?可能是
CreateResponse
方法中的内容有问题。。。谢谢我感觉您继承了错误的基本控制器类型。如果您使用的是WebAPI,那么应该继承自ApiController
,而不是Controller
在
ApiController
中,Request
是System.Net.Http.HttpRequestMessage
。在控制器
中,请求
是System.Web.HttpRequestBase
。因此,扩展方法很接近,但是提供签名方法的不正确类型不匹配。我没有使用WebAPI。控制器使用:controller之前,我刚刚在下面添加了一个新方法,该方法需要返回HTTPResponse,因此对于类来说是新的。@user3461011CreateResponse
和HttpResponseMessage
应该从WebAPI使用。在您的情况下,我会创建一个新的WebAPI控制器,以便您可以使用这些成员,或者删除它们并返回Json
或类似的ViewResult,以便您可以像API一样工作。您是我的英雄。如何在asp.net Core中使用HttpRequestMessage这可能会有所帮助-