【问题标题】:Get url of a different another page from code behind从后面的代码中获取另一个页面的 url
【发布时间】:2015-07-11 15:12:30
【问题描述】:

我正在尝试创建一个验证电子邮件,用户可以在其中单击链接,但我看不到从代码中获取页面 url 的方法。

我看到了

HttpContext.Current.Request.Url.AbsoluteUri;

可以用于当前页面,但不能用于我要链接的验证页面。

验证页面背后的代码

protected void Page_Load(object sender, EventArgs e)
{
    string confirm = Request.QueryString("confirm")

    //check the confirm string and verify user
    ...
}

【问题讨论】:

  • This answer 描述了如何获取基本网址。假设您知道验证页面的路径,则只需连接字符串(或使用 Uri 类为您执行此操作)。
  • 你的验证页面是什么?
  • 我在想有更好的方法,但如果没有,我会这样做。我不确定你的意思,但它是一个获得确认查询字符串的页面,它的路径是“~/Pages/Verification”
  • roman 在问@Danson 的实际代码在哪里,这意味着您的源代码......不要只发布一行代码并期望我们知道您在代码中的哪个位置使用它显示与您当前问题相关的所有相关代码
  • 我认为这与问题无关,因为我的问题是让用户获得该页面的链接,而验证页面实际上还没有任何内容。该页面现在在页面加载时获得一个查询字符串,并将确认它是正确的并将用户标记为已验证。我编辑了我在帖子中的内容。

标签: c# asp.net webforms


【解决方案1】:

您可以将当前 Url 保存在 ViewState 中,并在您的 AuthenticationPage 中调用此 ViewState。

在您当前的页面中:

 ViewState["PreviousPageUrl"] = HttpContext.Current.Request.Url.AbsoluteUri;

并且在AuthenticationPage中,可以获取到值:

var previousPageUrl = (string)ViewState["PreviousPageUrl"];

【讨论】:

  • 我想反其道而行之。我想从当前页面获取AuthenticationPage的url。
  • 只有在您创建 URL 时才能采用这种方式。
  • @Danson 如果您知道 AuthenticationPage 的 URL,您可以从解决方案中的任何页面导航到它。您是否熟悉如何 Redirect
  • 是的,我想获取链接,以便可以将其放入电子邮件中发送,就像在典型的帐户验证电子邮件中一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 2012-06-17
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多