提问者:小点点

如何在ASP.NET核心MVC中获取Url引用?


我正在尝试将ASP.NET MVC webform迁移到ASP.NET核心MVC。当前,request.urlreferrer类遇到问题。

原来的行是:

    [HttpPost]
    public async Task<ActionResult> ContactUsFormSubmit(ContactUs request)
    {
        var siteUrl = Request.UrlReferrer.ToString().ToLower();
        ....
    }

但是,对于ASP.NET核心,UrlReferrer不可用。我发现了以下内容:

    Request.Headers["Referer"]

它返回StringValues而不是String。我不确定我是否应该尝试使用这一个,或者是否有任何其他解决办法来解决这种情况。request.servervariables也不可用,或者我没有该命名空间。我的命名空间如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

如果有人能指引我正确的方向,我会非常感激的。


共1个答案

匿名用户

你就快到了。StringValues类只是ASP.NET用来在框架中有效表示字符串的一种类型。特别是在HttpContext对象中。您只需对其调用ToString()即可将其转换为字符串:

string referer = Request.Headers["Referer"].ToString();