C# HTTP引用程序为空
我有一个.NET主页,可以使用其他.NET页面访问它,因此基于最后一页,我将在此页上做一些事情 但当我试图阅读我的最后一页时,它给出了空值;但它不应该这样给予 这是我的密码:C# HTTP引用程序为空,c#,asp.net,C#,Asp.net,我有一个.NET主页,可以使用其他.NET页面访问它,因此基于最后一页,我将在此页上做一些事情 但当我试图阅读我的最后一页时,它给出了空值;但它不应该这样给予 这是我的密码: Uri ref = Request.UrlReferrer; string lastpage = ref.ToString(); 推荐人依靠浏览器发送信息。如果URL直接输入或从收藏夹中提取,也可能无法获得推荐人。如果是这种情况,ref变量将为null,第二行将抛出NullReferenceException。您需要检查
Uri ref = Request.UrlReferrer;
string lastpage = ref.ToString();
推荐人依靠浏览器发送信息。如果URL直接输入或从收藏夹中提取,也可能无法获得推荐人。如果是这种情况,ref变量将为null,第二行将抛出NullReferenceException。您需要检查null。在我的案例中,我也遇到了这个问题,问题是response.redirect 可能的原因 URLreferer不适用于重定向 记住它的http\u referer不是https\u referer,所以如果你的上一页是https,urlreferer就不能工作 浏览器中的设置可能会阻止发送数据 代理服务器或防火墙后面的一些安全软件可能会删除推荐人信息 建议 尝试使用超链接 尝试使用跨页面发布 这个问题可以通过在带有重定向url的querystring中添加refpage名称来解决
Response.Redirect("mainpage.aspx?prevpage=pagename.aspx");
在会话中存储ref页面名称并检入主页
Session["PREVPAGE"] = "pagename.aspx";
您可以将response.redirect替换为server.transfer并使用以下代码
主页中的this.Page.PreviousPage,但请注意浏览器地址栏中的URL不会更改这是ASP.net web表单吗?你的代码是否在代码隐藏文件中?@BenRobinson yes asp.net WebForms我想知道为什么我被否决了我没有发现我违反了这个社区的任何规则!我们太难帮助你了。首先尝试限制范围。您也可以在某些浏览器中禁用发送推荐人信息。我只使用开发环境,没有在浏览器中禁用它。感谢您对我的情况给出的详细回答。还有response.redirect就是罪魁祸首