Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新导致我的帖子“刷新”;邮政「;再一次_Javascript_Html_Asp.net_Vb.net - Fatal编程技术网

Javascript 刷新导致我的帖子“刷新”;邮政「;再一次

Javascript 刷新导致我的帖子“刷新”;邮政「;再一次,javascript,html,asp.net,vb.net,Javascript,Html,Asp.net,Vb.net,因此,我有这样的post方法: <form method = "post"> 现在这几乎完美地工作了…除了我刷新页面的时候。当我刷新页面时,帖子似乎再次“发布”。与中一样,Insert按钮似乎再次被我点击,我只是简单地刷新页面。如何防止这种情况发生?当您点击“刷新”时,post数据将再次发送到页面(现代浏览器中会显示一个警告框,通知您这一点) 避免这种情况的一种方法是在显示html和执行操作之间有一个页面。然后,表单被提交到操作执行,在完成任何操作后,它将用户转发回HTML页面 这

因此,我有这样的post方法:

<form method = "post">
现在这几乎完美地工作了…除了我刷新页面的时候。当我刷新页面时,帖子似乎再次“发布”。与中一样,
Insert
按钮似乎再次被我点击,我只是简单地刷新页面。如何防止这种情况发生?

当您点击“刷新”时,post数据将再次发送到页面(现代浏览器中会显示一个警告框,通知您这一点)

避免这种情况的一种方法是在显示html和执行操作之间有一个页面。然后,表单被提交到操作执行,在完成任何操作后,它将用户转发回HTML页面


这有意义吗?

在您的回答中,您提到您使用了
VB.Net
代码来帮助执行
Insert
代码。您可以在代码隐藏中进一步扩展
VB.Net
的使用,以帮助解决您面临的问题

下面是一个希望能帮助您的示例:

ASPX
页面中,您可以用以下代码替换表单代码:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button runat="server" ID="btnInsertInto" Text="Insert" />
    </div>
    </form>
</body>
</html>
在同一代码隐藏类中,您可以使用
Page\u Load
sub来处理页面初始化代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
            ' Page initialization code goes here..
    End If
End Sub
因此,整个代码隐藏类如下所示:

Public Class WebForm1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            ' Page initialization code goes here..
        End If
    End Sub

    Private Sub btnInsertInto_Click(sender As Object, e As EventArgs) Handles btnInsertInto.Click
        ' Handle button click code here..
    End Sub
End Class

当我在发布之前测试此功能时,我能够在不执行插入代码的情况下刷新页面。

谢谢您的提示,但这对我来说似乎是一个快速解决方案。这是防止重新发布的唯一方法吗?看看下面的线程,这正是我所需要的!谢谢,谢谢,这很有用。一切都是服务器端运行的。
Private Sub btnInsertInto_Click(sender As Object, e As EventArgs) Handles btnInsertInto.Click
        ' Handle button click code here..
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
            ' Page initialization code goes here..
    End If
End Sub
Public Class WebForm1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            ' Page initialization code goes here..
        End If
    End Sub

    Private Sub btnInsertInto_Click(sender As Object, e As EventArgs) Handles btnInsertInto.Click
        ' Handle button click code here..
    End Sub
End Class