当前位置: 首页 > 知识库问答 >
问题:

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

王叶五
2023-03-14

我正在尝试将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个答案

邓阳伯
2023-03-14

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

string referer = Request.Headers["Referer"].ToString();
 类似资料:
  • 我正在从.NET Framework迁移到.NET 5.0,并且我正在尝试使用Razor视图中的变量,就像普通的asp MVC一样,变量中存在语法错误 错误:“@page”指令必须位于Razor文件中定义的所有其他元素之前。 错误:“page”指令必须出现在行的开头。 错误:“page”指令值必须用空格分隔。 代码:

  • .NET核心和ASP.NET核心到底有什么区别?

  • 在ASP.NET MVC5中,您可以抛出一个带有HTTP代码的HttpException,这将设置如下所示的响应: ASP.NET核心中不存在。等价代码是什么?

  • 我目前正在学习。NET核心,我正试图在ASP.NET核心MVC 3.1中使用身份框架进行用户管理。在< code >控制器中,我有一个< code > RoleManagerController ,带有< code>EditRole GET和POST,如下所示: 基于GET,我在文件夹中创建了一个名为的视图,如下所示: 这是我在中配置的内容.cs 但是当我尝试编辑角色并使用角色id访问路线时,页面

  • 最近,我使用Visual Studio2017(15.6.3)从头创建了一个ASP.NET MVC核心项目。我发现了常见的JavaScript框架: 引导 jQuery jQuery-验证 jQuery-validation-unobtrusive 但不幸的是,所有的鲍尔支持都没有了!没有、和“管理Bower包...”再: 如果不推荐使用bower包,请不要将此问题复制到如何在Visual Stu