目前我有一个MVC注册页面,该页面在外部网站中实现。
我的问题是我现在需要为某个参数提取以前网站的查询字符串并将其读入我的页面以将用户注册到指定的组中。
因此工作流程如下所示:
用户使用查询字符串中的代码点击外部网站(例如:www.test1.com/default.aspx?Code = 123asd)
用户选择立即注册并转到我的页面。
我如何能够将以前的查询字符串代码读入我的MVC页面?我无法访问该网站。
修改
我目前有一个foreach语句,它读取当前的查询字符串,但这并没有拉动前一个请求的查询字符串:
private static string getCode()
{
string nothing = null;
string[] queryStringParaArray = HttpContext.Current.Request.UrlReferrer.Query.Substring(1).Split('=');
if (queryStringParaArray.Length > 0)
{
foreach (var para in queryStringParaArray)
{
if (para.Contains("Code"))
return queryStringParaArray[2];
}
}
return nothing;
}
答案 0 :(得分:0)
您是否尝试过 HttpRequest.UrlReferrer
属性,其中包含客户端之前链接到当前网址的请求的网址。这将返回一个Uri
对象,因此您可以访问Query
属性以获取它的查询字符串值。
HttpContext.Request.UrlReferrer
** SideNote:如前所述,无法保证所引用的URL存在,因此它也可能是null
。因此,建议您在单击Register
按钮时将该查询字符串信息直接传递给MVC控制器。