从查询字符串asp.net mvc获取数据

时间:2017-10-26 09:05:42

标签: c# asp.net asp.net-mvc syncfusion

我在控制器中有以下方法。

public class CompaniesController : ApiController
{

    static IList<Models.ClientCompany> list = new List<Models.ClientCompany>();

    public object Get(int skip)
    {

        list.Clear();
        var queryString = HttpContext.Current.Request.QueryString;
        int skip = Convert.ToInt32(queryString["$skip"]);
        int take = Convert.ToInt32(queryString["$top"]);
        int countPages = 0;

        list.Add(new Models.ClientCompany(1, "Krzak"));
        list.Add(new Models.ClientCompany(2, "Agrawka"));
        list.Add(new Models.ClientCompany(3, "Filut"));
        list.Add(new Models.ClientCompany(4, "Beczka"));
        list.Add(new Models.ClientCompany(5, "Progress"));
        if (take == 0)
        {
            countPages = list.Count;
            take = list.Count;
        }

        if (queryString["$inlineCount"] != null)
        {
            string allPages = queryString["$inlineCount"].ToString();
            countPages = list.Count;
        }
        return new {
            Items = list.Skip(skip).Take(take),Count=countPages
        };
    }

}

我想用标题而不是QueryString来标识标题方法中的参数跳过。像这样。

public object Get([some attribute]int skip)

请求示例。

api/cmp/?$inlinecount=allpages&$orderby=cmpn%20desc&params=[object%20Object]&$skip=4&$top=2

1 个答案:

答案 0 :(得分:0)

我们可以通过ejQuery的addParams方法传递附加参数来从查询字符串中获取数据。请参阅以下KB链接以将参数传递给控制器​​方法

https://www.syncfusion.com/kb/7865/how-to-pass-additional-parameter-when-using-datamanager-in-grid

如果您仍然遇到困难,请与我们分享一些细节,例如您是否通过数据管理器将数据绑定到Grid。如果没有,您的项目中使用的控件是什么,以便我们可以继续进行。

此致 Keerthana。