【问题标题】:Submit Page to Privious Page visited提交页面到上一页访问
【发布时间】:2012-10-26 02:25:40
【问题描述】:

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

在调用页面上包含提交反馈的表单..

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

如何维护该私密链接。我无法使用历史记录,因为它包含验证,如果表单失败则显示错误,并且在提交有效表单后,隐私历史记录相同,即联系我们表单。

我应该使用 session 来存储 privious 表单 url 还是有其他方法可以做到这一点?

【问题讨论】:

  • 可能你可以使用像?Reidrecturl="/xxx.aspx"这样的查询字符串

标签: c# asp.net-mvc validation session hyperlink


【解决方案1】:

看看 ASP.NET MVC Internet Application 模板中的 Forms Authentication 集成,它完全可以处理这种情况。

您可能想要做的是让您的“联系我们”链接指向:-

/ContactUs?returnUrl={the current 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);
}

【讨论】:

  • 我得到 null 值来 returnUrl 但它会显示在浏览器上。我正在使用
  • 您可以在上面的问题中发布您的视图和控制器代码吗?
猜你喜欢
  • 2017-07-29
  • 2015-03-06
  • 1970-01-01
  • 2012-07-01
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
相关资源
最近更新 更多