繁体   English   中英

在asp.net中提交页面后点击F5?

[英]Hitting F5 after submit the page in asp.net?

我有一个带有“提交”按钮的网页,当用户按F5刷新页面后提交页面后,它将执行上次请求完成的操作。

我已经通过在自身后面的C#代码中的commit_click函数中再次重定向同一页面来忽略了这一点。

但是我觉得当用户点击数增加时,这会带来一些性能问题。

我也尝试过Server.Transfer。 但是两者都不是防止问题的正确解决方案。

有什么解决方案可以解决这个问题吗?

谢谢大家。

您可以使用发布/重定向/获取模式来最大程度地减少重新提交表单的问题。

但这并不是完全安全的。用户仍然有可能通过单击后退按钮并再次重新加载来重新提交表单。浏览器会在重新提交之前进行确认。

有用的文章。

您可以尝试向用于提交表单的按钮添加一个值,例如value =“ isClicked”。

在处理请求之前,您可以检查该按钮是否具有值。

if (Request.Form["answer-thread"] != null && String.Equals(Request.Form["answer-thread"], "isClicked"))

{
 var answerText = Request.Form["answer-text"].ToString();
.... do your form logic. 
}

刷新页面时,该按钮将为空。 希望这对你有用

最好的问候亨里克

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM