2014-02-20 68 views
-1

我想在SQL服務器數據庫中使用JavaScript在數據庫中插入一條記錄。在asp.net中插入客戶端記錄

我對安全性沒有太多的關注,因爲這個應用程序不會暴露在網絡上,但意味着內部使用。我的主要問題是,當用戶點擊一個按鈕,然後一個記錄必須在數據庫中創建,我想在客戶端Java腳本本身做到這一點。你能告訴我,如果有辦法做,我一直在探索。

+1

您將不得不向服務器發出請求並使用asp.net創建數據庫記錄。但是,您可以使用Ajax發送請求,因此您不需要完整的回發。 – mboldt

+0

您需要從JavaScript調用服務器端代碼來實現它 – Cris

+0

使用Ajax並向服務器端方法發出實際執行插入操作的請求。 – Rohan

回答

0

你必須做這樣的事情

Java腳本:

$(document).ready(function() { 
    $('#btnsubmit').click(function() { 
    $.ajax({ 
     type: 'POST', 
     contentType: "application/json; charset=utf-8", 
     url: 'Test.aspx/AddRecord', 
     data: {'name': $('#txtname').val()}, 
     async: false, 
     success: function (response) { 
     alert("Record saved successfully in database"); 
     }, 
     error: function() { 
     alert("some problem in saving data"); 
     } 
     }); 

    }); 
    }); 
    } 
}); 

HTML

Test.aspx的

<html> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <table> 
    <tr> 
    <td> 
     Name 
    </td> 
    <td> 
     <asp:TextBox ID="txtname" runat="server"></asp:TextBox> 
    </td> 
    <td> 
     &nbsp; 
    </td> 
    </tr> 
    <tr> 
    <td> 
     &nbsp; 
    </td> 
    <td> 
     <input type="button" id="btnsubmit" value="Submit" /> 
    </td> 
    <td> 
     &nbsp; 
    </td> 
</tr> 

     </table> 
    </div> 
    </form> 
    </body> 
    </html> 

代碼背後:

Test.aspx文件。 cs

public static string AddRecord(string name) 
    { 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ToString()); 
     try 
     { 
      SqlCommand cmd = new SqlCommand("Insert into Test values("+name+")", con); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
      con.Close(); 
      return "Success"; 
     } 

     catch (Exception ex) 
     { 
      return "failure"; 
     } 
    } 
+0

一個問題請問,我的控件是在htm文件中的,因爲我正在使用web-parts並加載.htm文件,我如何在htm文件中使用ajax函數,它不允許我添加一些參考? – user2256404

+0

是的,你需要添加jQuery文件的那個 – Cris

+0

謝謝克里斯,我已經添加了jquery :) – user2256404