C# 将页面提交到访问的隐私页面

C# 将页面提交到访问的隐私页面,c#,asp.net-mvc,validation,session,hyperlink,C#,Asp.net Mvc,Validation,Session,Hyperlink,我在MVC应用程序的页脚上有联系我们的链接 在呼叫页面包含提交反馈的表单 当有效表单将提交“我想重定向到调用“联系我们”链接的页面时 我们将如何维持这种秘密联系。我不能使用历史记录,因为它包含验证,如果表单失败,则显示错误,提交有效表单后,隐私历史记录相同,即联系我们表单 我应该使用session来存储私有表单url,还是有其他方法来实现这一点?看看ASP.NET MVC Internet应用程序模板中的表单身份验证集成,它正好处理这种情况 您可能希望将“联系我们”链接点指向:- /Contac

我在MVC应用程序的页脚上有联系我们的链接

在呼叫页面包含提交反馈的表单

当有效表单将提交“我想重定向到调用“联系我们”链接的页面时

我们将如何维持这种秘密联系。我不能使用历史记录,因为它包含验证,如果表单失败,则显示错误,提交有效表单后,隐私历史记录相同,即联系我们表单


我应该使用session来存储私有表单url,还是有其他方法来实现这一点?

看看ASP.NET MVC Internet应用程序模板中的表单身份验证集成,它正好处理这种情况

您可能希望将“联系我们”链接点指向:-

/ContactUs?returnUrl={当前URL}

您可以像这样构建:-

@Html.ActionLink(
  "Contact us", "Contact", "Home", new { returnUrl = Request.Url.PathAndQuery })
然后,您可以在操作方法参数服务器端捕获它。即使在此期间服务器端验证失败,该参数也将在表单POST中保留

[HttpPost]
public ActionResult ContactUs(ContactUsModel model, string returnUrl)
{
  if (ModelStat.IsValid)
  {
    // Do whatever you need to do with the ContactUsModel

    if (Url.IsLocalUrl(returnUrl)
    {
      return Redirect(returnUrl);
    }
    else
    {
      return RedirectToAction("Index", "Home");
    }
  }

  return View(model);
}

可能您可以使用类似于
?ReidRecurl=“/xxx.aspx”
的查询字符串,我得到了返回URL的空值,但它将显示在浏览器上。我正在使用你能在上面的问题中发布你的视图和控制器代码吗?