2011-03-23 44 views
0

我创建按钮。添加事件点击。在事件函数AddToDataBase中。在asp.net中问题刷新

我按下按钮,事件工作,运行功能 - 数据加到数据库中。

更多我按F5事件wirk和函数AddToDataBase开始工作。

这是不正确的。如何解决它?

+2

问题是什么? – Alex 2011-03-23 15:59:22

+0

你需要澄清你的问题@denis,目前还不清楚你在问什么。 – 2011-03-23 15:59:35

回答

0

默认情况下,刷新页面时,PostBack事件将再次注册,这将再次触发您的按钮单击事件。

一个简单的解决方案,这将是添加下面的命令你AddToDatabase功能完成后:

Response.Redirect(Request.Url.PathAndQuery) 

这将导致页面重定向到本身,因此,如果发生刷新,回发事件将不注册按钮点击。

这不是最优雅的,但它会完成工作。如果你的页面有更复杂的事情发生,你可能需要研究其他解决方案,比如通过AJAX或其他方法来包装AddToDatabase函数。

1

尝试在完成“数据良好添加到数据库”后做重定向,否则F5会再次提交您的事件。

+0

+1。这正是我如何解释我所提出的问题和答案。你击败了我。 – David 2011-03-23 16:01:17

0

F5使用上次用于显示页面的GET和POST参数查询服务器。因此,如果您的按钮没有将您重定向到另一个页面,则执行F5将向服务器发送请求,就像您再次单击该按钮一样。