我是jquery的新手。我经常在c#中编写代码,现在我必须使用jquery。我知道jquery的基本知识。 jquery的功能很少。但现在我想做一些先进的事情。我想保存更新使用jquery从我的asp.net页面删除sql server中的数据。我尝试了一个jquery代码,但它没有用。我无法得到什么是错误以及我哪里出错了。这是我正在使用的jquery代码
<script type="text/javascript">
$(document).ready(function () {
$("#Button1").click(function () {
$.ajax({
type: 'POST',
contentType: "application/json;charset=utf-8",
url: 'Default2.aspx/InsertMethod',
data: "{'username':'" + document.getElementById('txtusername').value + "','password':'" + document.getElementById("txtpassword").value + "'}",
async: false,
success: function (response) {
$('#txtusername').val('');
$('#txtpassword').val('');
alert("record has been saved in database");
},
error: function () {
console.log('there is some error');
}
});
});
});
我在c#代码中创建一个web方法,我在sql server中编写保存数据的代码,并在jquery中调用该web方法。但是这段代码不起作用 这是我的C#代码
[WebMethod]
public static string InsertMethod(string username, string password)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand("insert jquerydata values('" + username + "','" + password + "'", con);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
return "true";
}
请告诉我该怎么做。
答案 0 :(得分:0)
你的Jquery似乎很好。 只需确保调用您的方法即可。您可以添加断点并调试c#方法。
在您的c#代码中
SqlCommand cmd = new SqlCommand("insert jquerydata values('" + username + "','" + password + "'", con);
我猜你错过'into'关键字。
您还可以使用'debugger'关键字调试您的jquery,并确保取消选中IE浏览器中的禁用脚本调试选项 - &gt; Internet选项 - &gt;高级 - &gt;浏览。
答案 1 :(得分:0)
我测试了这个并且它有效:
<强> Default2.aspx 强>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default2.aspx.cs" Inherits="SO19542105.Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>SO19542105: how to save data in database using jquery</title>
<script type="text/javascript" src="Scripts/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(function () {
$("#Button1").click(function () {
$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "Default2.aspx/InsertMethod",
data: "{'username':'" + $("#txtusername").val() + "', 'password':'" + $("#txtpassword").val() + "'}",
async: false,
success: function (response) {
$("#txtusername").val("");
$("#txtpassword").val("");
alert("record has been saved in database");
},
error: function () {
console.log("there is some error");
}
});
});
});
</script>
</head>
<body>
<input type="text" id="txtusername" placeholder="username" />
<input type="password" id="txtpassword" placeholder="password" />
<input type="button" id="Button1" value="OK" />
</body>
</html>
<强> Default2.aspx.cs 强>
using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.Services;
namespace SO19542105
{
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string InsertMethod(string username, string password)
{
using(var con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString))
using (var cmd = con.CreateCommand())
{
cmd.CommandText = "INSERT INTO jquerydata(username, password) VALUES(@username, @password)";
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@password", password);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
return "true";
}
}
}