Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
Html按钮未在隐藏事件中触发代码_Html_Sql_Asp.net_Vb.net - Fatal编程技术网

Html按钮未在隐藏事件中触发代码

Html按钮未在隐藏事件中触发代码,html,sql,asp.net,vb.net,Html,Sql,Asp.net,Vb.net,我试图得到一个简单的表单来发布到我的sql数据库中,但当我点击它时,什么也没有发生。我尝试了runat=“Server,onclick,onserverclick标记,但什么都没有发生 我是新的html表单,所以不知道我是否应该有按钮以外的实际形式做这件事?任何帮助是非常感谢的 下面是html代码 <div class="register-content" "> <form method="POST" class="ma

我试图得到一个简单的表单来发布到我的sql数据库中,但当我点击它时,什么也没有发生。我尝试了runat=“Server,onclick,onserverclick标记,但什么都没有发生

我是新的html表单,所以不知道我是否应该有按钮以外的实际形式做这件事?任何帮助是非常感谢的

下面是html代码

            <div class="register-content" ">
                <form  method="POST" class="margin-bottom-0">
                    <label class="control-label">Name <span class="text-danger">*</span></label>
                    <div class="row row-space-10">
                        <div class="col-md-6 m-b-15">
                            <input id="First_Text" type="text" class="form-control" placeholder="First name" required />
                        </div>
                        <div class="col-md-6 m-b-15" >
                            <input id="Last_Text" type="text" class="form-control" placeholder="Last name" required />
                        </div>
                    </div>
                    <label class="control-label">Email <span class="text-danger">*</span></label>
                    <div class="row m-b-15">
                        <div class="col-md-12">
                            <input id="Email_Text" type="text" class="form-control" placeholder="Email address" required />
                        </div>
                    </div>
                    <label class="control-label">Password <span class="text-danger">*</span></label>
                    <div class="row m-b-15">
                        <div class="col-md-12">
                            <input id="Pass_Text" type="password" class="form-control" placeholder="Password" required />
                        </div>
                    </div>
                    <div class="register-buttons">
                        <button runat="server" onserverclick="ValidateUser" type="button" class="btn btn-primary btn-block btn-lg">Sign Up</button>
                    </div>
                    <div class="m-t-20 m-b-40 p-b-40">
                        Already a registered user? Click <a href="login.aspx">here</a> to login.
                    </div>
                    <hr />
                    <p class="text-center">
                        &copy; NZAB All Right Reserved 2019
                    </p>
                </form>
            </div>

当然,在sql中存储密码时,我会对密码进行加密/哈希处理,但现在我只想让按钮实际触发事件!

首先,您需要为每个输入字段指定一个值,因为这是在发布到服务器时识别它们的值。
id
仅用于客户端识别(例如通过JavaScript)


其次,该按钮仅调用服务器上的回调。它实际上并不提交表单,因此在本例中,
Request.form
将为空

对于标准HTML表单,您需要使用
,以便表单实际提交并将其数据发送到服务器。然后,您可以从
页面加载
处理程序调用对其数据的读取


Protected Sub Page_Load(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
'检查这是否是POST请求。
如果HttpContext.Current.Request.HttpMethod.Equals(“POST”,StringComparison.OrdinalIgnoreCase),则
DoSignUp()
如果结束
端接头
私人分包
'将ValidateUser的代码放在这里。
端接头

虽然可以,但可以用ASP.NET控件替换表单和输入字段,并通过回发来处理。我不确定在这种情况下首选哪种方法,因为我没有太多使用WebForms。就我个人而言,我会使用像您现在这样的表单。

您是否尝试过删除所有代码并使用类似于
Protected Sub-Valid的函数ateUser(发送者作为对象,e作为事件args)控制台。WriteLine(“测试”)End Sub
查看它是否正在触发,但有某种灾难性的SQL错误?感谢EGC的建议,但问题是在我单击“无任何事件”时触发事件。如果我添加标记action=“home.html“在表单元素上,用户被重定向到页面,但是代码落后时什么也没有发生。这有帮助吗?”@user2301960如果您使用ASP.NET控件,如,那么您将能够获得它们的值,例如,
First\u Text.Text
而不是Request.Form(…)。谢谢Vincent,这让我进步了!现在唯一的问题是请求。表单值仍然为空。有什么想法吗?@user2301960:Hmm,很难说为什么。。。当我下班回来的时候,我必须试试这个。@user2301960:对不起,耽搁了,我昨天很累。事实证明这个问题很简单,我不知道我是如何忽略它的。您还需要在输入字段上有一个
name=“…”
属性,因为这是发布到服务器时标识每个字段的属性。我已经用这些信息更新了我的答案。@user2301960:很高兴我能帮上忙!祝你的项目好运!
Protected Sub ValidateUser(sender As Object, e As EventArgs)
    Dim connect As New SqlConnection(ConfigurationManager.ConnectionStrings("NZABFMAD_Users").ToString())
    Using coa As New SqlCommand()
        With coa
            .Connection = connect
            .CommandType = CommandType.Text
        End With
        Try
            connect.Open()
            Dim insertcmd As String
            insertcmd = "INSERT INTO [New_User] (Username,[First name],[Last name],Email,Password) values (@User_Text,@First_Text,@Last_Text,@Email_Text,@Pass_Text)"

            coa.CommandText = insertcmd
            coa.Parameters.AddWithValue("@User_Text", Request.Form("User_Text"))
            coa.Parameters.AddWithValue("@First_Text", Request.Form("First_Text"))
            coa.Parameters.AddWithValue("@Last_Text", Request.Form("Last_Text"))
            coa.Parameters.AddWithValue("@Email_Text", Request.Form("Email_Text"))
            coa.Parameters.AddWithValue("@Pass_Text", Request.Form("Pass_Text"))
            coa.ExecuteNonQuery()
            connect.Close()
            MsgBox("success insert")
        Catch ex As Exception
            MsgBox("Fail to Save to database")
        End Try
    End Using

End Sub