我有以下网址:
http://localhost:64863/api/Entity/getStatus?%24skip=0&%24top=25&%24inlinecount=allpages&_=1473445898026
我的问题是如何在控制器中阅读跳过和顶部。这是我的控制器签名:
[HttpGet("getStatus")]
public JsonResult GetStatus(
string filter,
int skip,
int top)
{
答案 0 :(得分:0)
以下查询字符串
%24skip=0&%24top=25
将在Request.QueryString
中使用以下密钥提供:$skip
和$top
。您将无法将控制器参数名称更改为$skip
和$top
,因为您将在Visual Studio中收到错误并且无法编译,因此您可以删除{skip
1}}和top
参数,并从控制器中的%24skip
获取%24top
和Request.QueryString
值
[HttpGet("getStatus")]
public JsonResult GetStatus(
string filter)
{
string skip = string.Empty;
string top = string.Empty;
if (Request.QueryString["$skip"] != null)
{
skip = Request.QueryString["$skip"];
}
if (Request.QueryString["$top"] != null)
{
top = Request.QueryString["$top"];
}
// do whatever you want with skip and top variable
答案 1 :(得分:0)
这是我在获取QueryString后添加的代码:
private string getParameterFromUrl(string parameter)
{
string url = Request.QueryString.Value;
Match match = Regex.Match(url, parameter + "=([^&]*)");
return match.Result("$1");
}
在我的情况下,参数跳过或顶部