0
私はコントローラに次のメソッドを持っています。クエリ文字列asp.net mvcからデータを取得
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¶ms=[object%20Object]&$skip=4&$top=2
「私は以下の方法があります。」と言っていますが、その方法は簡単にできません。同じスコープ内で 'skip'を複数回宣言することはできません。メソッドが入力された直後に代入するパラメータ 'skip'を持っている理由は分かりません。' ref'でも 'out'でもありません。 – Eric
https://stackoverflow.com/q/12298409/728795 – Andrei
のように見えます。申し訳ありません@ErikKralj 2番目の宣言を削除するのを忘れてしまいました。 – maciejka