从html5按钮onclick事件调用服务器端方法

时间:2012-01-19 07:03:36

标签: c# asp.net sql-server html5

我做了一个测试应用程序,其中控件是html5控件。我有2个文本框和一个html5按钮。我想在html5按钮上触发onclick事件,并且通过onclick事件调用的方法在服务器端。

我试过但它无法正常工作。任何人都可以帮我从html5按钮调用服务器端方法。我发布了我的代码。

//clientside code
<form id="form1" runat="server">
    <div>
        First name:<input type="search" name="searchfield" placeholder="enter your name"
            autofocus="on" required="required" pattern="[A-z]" />
        E-mail:
        <input type="email" name="emailfield" placeholder="enter emailid" />

        <button onclick="btnSave_click" value="Click to Save" id="btnSave" runat="server" autofocus="autofocus" formtarget="_parent">
            Click to Save</button>
    </div>
</form>

// server side code
protected void btnSave_Click(object sender, EventArgs e)
{
    string name = Request.Form["searchfield"];
    string emailid = Request.Form["emailfield"];
    string dob = Request.Form["bday"];

    SqlConnection cn = new SqlConnection();
    cn.ConnectionString = "Data Source=CP1106\\SQLEXPRESS;Initial Catalog=Testdb;User ID=sa;Password=pwd";

    cn.Open();

    string query = "INSERT INTO TestTable(name, email) VALUES(@name, @email)";

    SqlCommand cmd = new SqlCommand(query,cn);
    cmd.Parameters.Add("@name", name);
    cmd.Parameters.Add("@email", emailid);
    // cmd.Parameters.Add("@bday", dob);

    cmd.ExecuteNonQuery();

    cn.Close();
    BindGrid();
}

4 个答案:

答案 0 :(得分:9)

请使用:onserverclick="btnSave_click"

答案 1 :(得分:1)

使用onserverclick="btnSave_click"代替onclick="btnSave_click"

答案 2 :(得分:0)

您可以使用以下代码。

<button onserverclick="btnSave_click" value="Click to Save" id="btnSave" 
  runat="server" autofocus="autofocus" formtarget="_parent">Click to Save
</button>

答案 3 :(得分:0)

我认为您在服务器端提供了btnSave_Click,在客户端提供了btnSave_click