繁体   English   中英

如何使用jqGrid在ASP.NET中获取searchString

[英]How to get searchString in ASP.NET with jqGrid

前端:

$("#UsersGrid").jqGrid({
    url: "jqGridHandler.ashx",
    mtype: 'post',
    datatype: 'json',
    height: 250,
    colNames: ['CardNumber', 'CardType', 'CardGrade', 'CanUseMoney', 'MemberName'],
    colModel: [
        { name: 'CardNumber', index: 'CardNumber', width: 150, search: true,
            searchoptions: { sopt: ['eq']}},
        { name: 'CardType', width: 150},
        { name: 'CardGrade', width: 150 },
        { name: 'CanUseMoney', width: 150 },
        { name: 'MemberName', width: 150, search: true,
            searchoptions: { sopt: ['eq']} }
    ],
    rowNum: 10,
    rowList: [10, 20, 30],
    sortname: 'CardNumber',
    viewrecords: true,
    sortorder: 'asc',
    caption: 'card',
    pager: $("#pager")
}).navGrid('#pager',
    { search: true, edit: false, add: false, del: false, searchtext: "search" });

jqGridHandler.ashx:

HttpRequest request = context.Request;

string _searchsrt = request["searchString"];

我想在“jqGridHandler.ashx”中获取searchString ,但我发现它是“”怎么办? 谁能帮我吗? TKS!

您可以使用HttpRequest获取发送jqGrid的参数。 代码可以是以下内容:

public class jqGridHandler: IHttpHandler {
    public void ProcessRequest(HttpContext context) {
        HttpRequest request = context.Request;
        HttpResponse response = context.Response;

        // get parameters sent from jqGrid
        string numberOfRows = request["rows"];
        string pageIndex = request["page"];
        string sortColumnName = request["sidx"];
        string sortOrderBy = request["sord"];
        string isSearch = request["_search"];
        string searchField = request["searchField"];
        string searchString = request["searchString"];
        string searchOper = request["searchOper"];

        // construct the JSON data based on the 
        string output = BuildJQGridResults (
            Convert.ToInt32 (numberOfRows),
            Convert.ToInt32 (pageIndex),
            Convert.ToInt32 (totalRecords),
            isSearch!= null && String.Compare (isSearch, "true",
                                               StringComparison.Ordinal) == 0,
            searchField,
            searchString,
            searchOper
        );

        response.ContentType = "application/json";
        response.Write (output);
    }

重要的是,只有当用户使用单个搜索对话框 (您没有设置multipleSearch: true选项)时,才会设置参数searchStringsearchFieldsearchOper 对于“ 高级搜索”对话框 ,将使用参数过滤器 如果用户未使用任何搜索对话框,则相应的参数( searchStringsearchFieldsearchOperfilters )将为null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM