所需工具与项目结构同(一)。
service.asmx中代码如下:
using System; using System.Collections.Generic; using System.Web; using System.Web.Services; using Newtonsoft.Json; using System.Data.SqlClient; using System.Data; using System.Web.Script.Serialization; namespace WebService2 { /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempri/url")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { [WebMethod(Description = "selectbyid")] public void getDBTableInfos(string EnterpriseCode) { HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); string jsonStr=string.Empty; CarUsing caru = new CarUsing(); string sql = "select * from CarUsing where cuid =@cuid"; SqlParameter para = new SqlParameter("@cuid", Convert.ToInt32(EnterpriseCode)); using (SqlDataReader dr = SqlHelper.ExecuteReader(sql, CommandType.Text, para)) { while (dr.Read()) { caru = new CarUsing( Convert.ToInt32(dr["cuid"]), dr["carUsing"].ToString() ); } } jsonStr = JsonConvert.SerializeObject(caru); HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr))); } [WebMethod(Description = "测试selectall")] public void getDBTableInfos1() { HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); string jsonStr = string.Empty; List<CarUsing> CarUsings = new List<CarUsing>(); string sql = "select * from CarUsing order by cuid desc"; using (SqlDataReader dr = SqlHelper.ExecuteReader(sql, CommandType.Text)) { while (dr.Read()) { CarUsing carUsing = new CarUsing( Convert.ToInt32(dr["cuid"]), dr["carUsing"].ToString() ); CarUsings.Add(carUsing); } jsonStr = JsonConvert.SerializeObject(CarUsings); } HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr))); } [WebMethod(Description = "添加")] public void getDBTableInfos2(string cusing) { string result = ""; HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); string jsonStr = string.Empty; string sql = string.Format("insert into CarUsing values(@carUsing)"); SqlParameter para = new SqlParameter("@carUsing", cusing); result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para).ToString(); jsonStr = JsonConvert.SerializeObject(result); HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr))); } [WebMethod(Description = "修改")] public void getDBTableInfos3(string cuid,string cusing) { string result = ""; HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); string jsonStr = string.Empty; string sql = string.Format("update CarUsing set carUsing =@carUsing where cuid=@cuid"); SqlParameter[] paras = { new SqlParameter("@carUsing",cusing), new SqlParameter("@cuid", cuid) }; result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, paras).ToString(); jsonStr = JsonConvert.SerializeObject(result); HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr))); } [WebMethod(Description = "删除")] public void getDBTableInfos4(string cuid) { string result = ""; HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); string jsonStr = string.Empty; string sql = string.Format("delete from CarUsing where cuid=@cuid"); SqlParameter para = new SqlParameter("@cuid", Convert.ToInt32(cuid)); result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para).ToString(); jsonStr = JsonConvert.SerializeObject(result); HttpContext.Current.Response.Write(string.Format("{0}({1})", jsonCallBackFunName, new JavaScriptSerializer().Serialize(jsonStr))); } } }
html中代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btnSubmit").click(function () {
var EnterpriseCode = "1"; //企业代码
var dataStr = "EnterpriseCode=" + EnterpriseCode;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
//返回结果
var str = result;
var jsonList = eval("(" + str + ")");
var html = "<table border=1 bordercolor=6d6d6d cellspacing = 1>";
html += "<tr backgroundcolor='yellow'><td>Id</td><td>用途</td><td>操作</td></tr>";
html += "<tr>";
html += "<td>" + jsonList.Cuid + "</td><td>" + jsonList.CareUsing + "</td><td><a href='javascript:;' onclick='UpdateInit(" + jsonList.Cuid + ")'>修改</a> <a href='javascript:;' onclick='if(confirm("确定删除嘛?")){Delete(" + jsonList.Cuid + ");}'>删除</a></td>";
html += "</tr>";
html += "</table>"
$("#div1").html(html);
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit1").click(function () {
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos1?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: "{}",
success: function (result) {
var str = result;
var jsons = eval("(" + str + ")");
var html = "<table border=1 bordercolor=6d6d6d cellspacing = 1>";
html += "<tr backgroundcolor='yellow'><td>Id</td><td>用途</td><td>操作</td></tr>";
for (var i = 0; i < jsons.length; i++) {
html += "<tr>";
html += "<td>" + jsons[i].Cuid + "</td><td>" + jsons[i].CareUsing + "</td><td><a href='javascript:;' onclick='UpdateInit(" + jsons[i].Cuid + ")'>修改</a> <a href='javascript:;' onclick='if(confirm("确定删除嘛?")){Delete(" + jsons[i].Cuid + ");}'>删除</a></td>";
html += "</tr>";
}
html += "</table>"
$("#div1").html(html);
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit2").click(function () {
var carUsing = "测试测试1"; //企业代码
var dataStr = "cusing=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos2?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "1") {
alert("success");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit3").click(function () {
var carUsing = "测试测试"; //企业代码
var dataStr = "cuid=5&cusing=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos3?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "1") {
alert("success");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
$("#btnSubmit4").click(function () {
var carUsing = "38";
var dataStr = "cuid=" + carUsing;
$.ajax({
type: "get",
url: "http://localhost:22657/Service1.asmx/getDBTableInfos4?jsoncallback?",
dataType: "jsonp",
jsonp: 'jsoncallback',
data: dataStr,
success: function (result) {
if (result = "1") {
alert("success!");
}
else {
alert("fail");
}
},
error: function (result) {
alert("error");
}
})
});
});
</script>
</head>
<body>
<div>
<input id="btnSubmit" type="button" value="selectbyId" />
<input id="btnSubmit1" type="button" value="selectall" />
<input id="btnSubmit2" type="button" value="Insert" />
<input id="btnSubmit3" type="button" value="Update" />
<input id="btnSubmit4" type="button" value="Delete" />
<div id="div1"></idv>
</div>
</body>
</html>
Note:如果读取的是access数据库,在发布后记得设置access的写入权限。否则无法读取数据。