首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Datatables.net和asp.net核心WebApi获取search[value]

Datatables.net和asp.net核心WebApi获取search[value]
EN

Stack Overflow用户
提问于 2021-11-02 12:12:28
回答 2查看 110关注 0票数 0

我正在尝试用一个asp.net核心WebApi控制器来解决Datatables.net中的服务器端处理问题。

DT正在向控制器发送一个http-get,其中包含一些给定的参数,如下所示:Serverside-Description

我现在的问题是如何在控制器中获取searchvalue字符串参数的值。这是发送给控制器的值为"Hal“的参数:

但是正如你在这里看到的,search的值是null。

所有其他参数都填写在我的控制器中。

所以我认为问题出在搜索**价值**这件事上。如何告诉控制器读取此参数?

正如您在我的第二个屏幕截图中所看到的,我也尝试定义了从获取参数。但是,无论是FromHeader还是FromQuery都行得通。

感谢您的帮助和建议。帕特里克

EN

回答 2

Stack Overflow用户

发布于 2021-11-02 13:15:18

我已经想出了如何解决这个问题。

我简单地使用了HttpContext-Class来获得名为"searchvalue“的查询。

如下所示:

代码语言:javascript
运行
复制
var searchWord = HttpContext.Request?.Query["search[value]"].ToString();

不知道这是不是干净的方式,但它是有效的。

票数 0
EN

Stack Overflow用户

发布于 2021-11-02 13:26:08

当我从UI发出请求时,我使用了contentType:“application/json

代码语言:javascript
运行
复制
const table = $('#datatableDefault').DataTable({
    ajax: {
        url: '/endpoint_toServer',
        method: 'post',
        contentType: "application/json",
        data: function (d) {
            // Add your additional data if needed 
            d.fromDate = date[0];
            d.toDate = date[1];

            return JSON.stringify(d);
        }
    },
    serverSide: true,....

和在控制器中

代码语言:javascript
运行
复制
 var queryString = new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
 var requestParams = JsonConvert.DeserializeObject<CustomDataTableRequest>(queryString.Result);

public class CustomDataTableRequest: DatatableRequest
{
    
    public DateTime FromDate { get; set; }

    public DateTime ToDate { get; set; }

}

public class DatatableRequest
{
    public List<ColumnData> Columns { get; set; }

    public int Draw { get; set; }

    public bool SaveExcel { get; set; }

    public int Length { get; set; }

    public int Start { get; set; }

    public List<Order> Order { get; set; }

    public List<Search> Search { get; set; }
}

public class ColumnData
{
    public string Name { set; get; }
    public string Data { set; get; }
    public bool Searchable { set; get; }
    public bool Orderable { set; get; }
}

public class Order
{
    [JsonProperty(PropertyName = "column")]
    public int ColumnIndex { set; get; }

    [JsonProperty(PropertyName = "dir")]
    public string Direction { set; get; }
}

public class Search
{
    [JsonProperty(PropertyName = "value")]
    public string Value { set; get; }

    [JsonProperty(PropertyName = "regex")]
    public bool Regex{ set; get; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69810222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档