An Example:
ASPX:
<asp:ScriptManager id="ScriptManager1" runat="server" EnablePageMethods="true">
<Scripts>
<asp:ScriptReference Path="script.js" />
</Scripts>
</asp:ScriptManager>
State Name: <asp:TextBox ID="txtName" runat="server" /><br />
State Abbr: <asp:TextBox ID="txtAbbr" runat="server" /><br />
<asp:Button ID="btnInsert" runat="server" Text="Insert" Width="237px" />
Code Behind:
protected void Page_Load(object sender, EventArgs e)
{
btnInsert.Attributes.Add("onclick", "javascript:InsertState('" + txtName.ClientID + "', '" + txtAbbr.ClientID + "')");
}
[System.Web.Services.WebMethod]
public static string InsertState(string name, string abbr)
{
try
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["CarrierDBConnectionString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO STATE ([NAME],[ABBR]) VALUES (@NAME, @ABBR); SELECT SCOPE_IDENTITY()",conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@NAME", name);
cmd.Parameters.AddWithValue("@ABBR", abbr);
conn.Open();
return cmd.ExecuteScalar().ToString();
}
}
}
catch (Exception ex)
{
throw new Exception("Error Inserting Record! " + ex.Message);
}
}
JavaScript File:
function InsertState(nameCtrl, abbrCtrl){
var name = $get(nameCtrl).value;
var abbr = $get(abbrCtrl).value;
PageMethods.InsertState(name, abbr, OnSucceeded, OnFailed);
}
function OnSucceeded(res){
alert('Record Inserted! Record Number: ' + res);
}
function OnFailed(error){
alert(error.get_message());
}
Hope this helps =)