【问题标题】:Converting Request.RequestUri to ASP.NET Core 2.1将 Request.RequestUri 转换为 ASP.NET Core 2.1
【发布时间】:2019-02-12 01:50:12
【问题描述】:

什么是 ASP.NET Core MVC 等价于 Request.RequestURI?

我正在尝试设置 JSGrid 的 ASP.NET Core 实现。他们提供的示例是 pre-Core,所以我在将源代码转换为 ASP.NET Core 时遇到了一些问题。

在转换Request.RequestUri.Query 上的最后一个错误时卡住了

我读了这个post,但不知道它是如何应用于我的案例的,而且它也有 3 年历史了。我希望微软提供了一个新的using,它现在可以处理RequestUri,但我似乎找不到它。

到目前为止,这是我的控制器。

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using Deviation.Data;
using System.Collections.Specialized;
using System.Web;

namespace Deviation.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class JSGridController : ControllerBase
    {
        private readonly DeviationContext _context;

        public JSGridController(DeviationContext context)
        {
            _context = context;
        }
        public IEnumerable<object> Get()
        {
            ClientFilter filter = GetFilter();

            var result = _context.MissedDeliveries.Where(c =>
                (String.IsNullOrEmpty(filter.Delivery) || c.Delivery.Contains(filter.Delivery))
            );

            return result.ToArray();
        }

        private ClientFilter GetFilter()
        {
            NameValueCollection filter = HttpUtility.ParseQueryString(Request.RequestUri.Query);

            return new ClientFilter
            {
                Delivery = filter["Delivery"],
            };
        }
    }
}

非常感谢任何可以提供一些指导的人。

【问题讨论】:

    标签: asp.net-web-api asp.net-core jsgrid


    【解决方案1】:

    试试HttpContext.Request.Query

    var q = HttpContext.Request.Query;
    var deliveries = q["Delivery"];
    var delivery = q["Myquery"].FirstOrDefault();
    

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 2022-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多