我正在尝试将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;
如果有人能指引我正确的方向,我会非常感激的。
你就快到了。StringValues
类只是ASP.NET用来在框架中有效表示字符串的一种类型。特别是在HttpContext
对象中。您只需对其调用ToString()
即可将其转换为字符串:
string referer = Request.Headers["Referer"].ToString();