【发布时间】:2021-09-17 19:44:24
【问题描述】:
我有一个 GET ActionResult 和一个 POST ActionResult。在 POST 之后,会出现一个自定义链接,供用户单击以重定向到另一个页面。
此后,当用户在浏览器中按下后退按钮时,表单会重新提交,并且会再次出现一个新的自定义链接。 这是不受欢迎的。我宁愿表格完全清除并为空,而不是发生这种情况。或者,只返回到重定向之前的相同状态(显示相同的链接并且不会重新提交)
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ShortenURL(ShortURLModel model)
{
if (ModelState.IsValid)
{
ViewBag.currentdomain = GetCurrentAbsoluteURL();
Tuple<bool, string> response = _shortUrlProcessor.CreateShortURL(model.originalURL, model.shortURL);
if (response.Item1)
{
ViewBag.ShortenURLSuccess = true;
ViewBag.shortlink = ViewBag.currentdomain + response.Item2;
}
else
{
ViewBag.ShortenURLSuccess = false;
}
}
return View();
}
[HttpGet]
[Route("{*id}")]
public IActionResult ShortenURL(string id)
{
ViewBag.currentdomain = GetCurrentAbsoluteURL();
if (id == null)
{
return View();
}
var originalURL = _shortUrlProcessor.GetOriginalURL(id);
if (originalURL == null)
{
return Redirect("~/");
}
return Redirect(originalURL);
}
【问题讨论】:
标签: c# asp.net-core razor asp.net-core-mvc