jquery+webservice实现无刷新回复留言
<td><input type=textarea id='textarea1'><input type=button value='回复此留言' onclick='replyData(" + id + "," + $("#textarea1").val() +")'/></td> //定义一个textarea1
function replyData(id,textarea1) { //回复留言函数
$.ajax({
type: "POST",
cache: false,
url: "WebService.asmx/Update", /* 注意后面的名字对应CS的方法名称 */
data: { "id": id}, /* 注意参数的格式和名称 */
contentType: "application/x-www-form-urlencoded",
dataType: "xml",
success: function (ret) {
//判断 ret 删除成功再决定是否刷新getData();
getData();
}
});
}
[WebMethod]
public String Update(int id,string textarea1) //webservice里的方法
{
System.Data.SqlClient.SqlConnection sqlCon = new SqlConnection();
sqlCon.ConnectionString = "server=.;uid=sa;pwd=sa;database=guestbook";
//定义SQL语句
string SqlStr = "update gbook set repcontent=" + textarea1+"where id=" + id;
//实例化SqlDataAdapter对象
sqlCon.Open();
SqlCommand cmd = new SqlCommand(SqlStr, sqlCon);
int ret = cmd.ExecuteNonQuery();
sqlCon.Close();
if (ret > 0) return "删除成功";
return "删除失败";
}
想买是留言本,这里的代码的意义是,执行以上代码,本来想把textarea1.text里的值写入数据库,按F5调试,可以通过,但点击web页面上的【回复留言】按钮,却什么操作都没执行,事后查了下数据库,一样没写进任何数据。
------解决方案--------------------首先看你的Update 方法有2个参数 如果使用jQuery aja提交的话 那么肯定是要保证参数是一样的 少了参数是会出错的。你先把参数弄好在试试。