我正在尝试将ASP.NET MVC Webform迁移到ASP.NET Core MVC.目前,我遇到了Request.UrlReferrer类的问题.
原来的行是:
[HttpPost] public async Task<ActionResult> ContactUsFormSubmit(ContactUs request) { var siteUrl = Request.UrlReferrer.ToString().ToLower(); .... }
但是,使用ASP.NET Core,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;
如果有人能指导我正确的方向,我真的很感激.
解决方法
你几乎在那里StringValues类只是ASP.NET用于在框架中高效地表示字符串的一种类型.特别是在HttpContext对象中.您可以调用ToString()将其转换为字符串:
string referer = Request.Headers["Referer"].ToString();