涉及知识点:Webmethod,ajax,有关c#的转json,.net需要用到的namespace
前端:.aspx文件
<script src="http://ksmesweb.aseks.com/js/jquery.min.js"></script>
<script type="text/javascript">
function updateForm(e){
var rptid=$("#"+e).children("td").eq(0).text();
var remark2=$("#"+e+"_2").val();
var cJSON={'rptid':rptid,'remark2':remark2};
$.ajax({
type: 'post',
url: 'showRPT_ID.aspx/updateRemark2',//模拟web服务,提交到方法
data:JSON.stringify(cJSON),//转json
contentType: "application/json", //注意:WebMethod()必须加这项,否则客户端数据不会传到服务端
dataType: "json",
success: function (data) {
//alert("success: " + data.d);//注意这里:必须通过data.d才能获取到服务器返回的值
// 服务端可以直接返回Model,也可以返回序列化之后的字符串,如果需要反序列化:string json = JSON.parse(data.d);
alert("修改成功!");
$("#btnload").click();
}, error: function (data) {
alert("失败!");
}
});
};
</script>
后台.cs文件
using System.Web.Services;//ajax
using System.Web.Script.Serialization;//转Json
using System.Collections;//HashTable
using System.Collections.Generic;
[WebMethod]//必须有
public static String updateRemark2(string rptid,string remark2)//update
{
string sqlRPT="UPDATE TableName SET REMARK2 = '"+remark2+"' where REPORTID = '"+rptid+"'";
try{
conn.Open();
DataTable dt = DBLink.sqlquery(sqlRPT, conn);
}catch(Exception e){
return "error";
}finally{
sqlRPT="";
conn.Close();
}
Hashtable rpt =new Hashtable();//利用hashtable转json,c#没有hashmap
rpt.Add("rptid",rptid);
rpt.Add("remark2",remark2);
JavaScriptSerializer ser = new JavaScriptSerializer();//转json,或者导入Newtonsoft.Json
String jsonStr=ser.Serialize(rpt);
return jsonStr;
}
webMethod 链接:
点击打开链接http://slashlook.com/articles_20170308.html