注意:调用的时候,前台js里面的那个参数和后台接口的方法的参数名字和字母大小写一定要一样的。
1.前台的代码如下:
$(function () { var categoryNum = "002007"; var requestData = " { \"categoryNum\": \"" + categoryNum + "\"} "; $.ajax({ url: prexUrl + "SmtpService/HkmhWebService/HkmhCommonService.asmx/getMaxMinYear", type: "post", contentType: "application/json; charset=utf-8", data: requestData, dataType: "json", async: true, success: function (data) { var html = ""; var rtData = data.d; var repData = eval("(" + rtData + ")"); $("#getYear").empty(); var MaxYearInfo = repData.Year[0]["MaxYear"]; //最大年份 var MinYearInfo = repData.Year[0]["MinYear"]; //最小年份 if ((MaxYearInfo - MinYearInfo) == 0) { //只加一年 html += "<option value=\"" + MaxYear + "\">" + MaxYear + "年</option>"; } else if ((MaxYearInfo - MinYearInfo) == 1) { //只加最大一年和最小一年 html += "<option value=\"" + MaxYearInfo + "\">" + MaxYearInfo + "年</option>"; html += "<option value=\"" + MinYearInfo + "\">" + MinYearInfo + "年</option>"; } else { var diffTime = parseInt(MaxYearInfo) - parseInt(MinYearInfo); for (var i = 0; i <= diffTime; i++) { html += "<option value=\"" + parseInt(parseInt(MaxYearInfo) - i) + "\">" + parseInt(parseInt(MaxYearInfo) - i) + "年</option>"; } } $("#getYear").append(html); }, error: function (data, status) { $("#getYear").empty(); $("#getYear").append("网络连接超时!请检查网络..."); } }); });
2.后台接口的asmx代码如下:
public class HkmhCommonService : System.Web.Services.WebService { public string getMaxMinYear(string categoryNum) { string strSql = "select top 1 max(infodate) MaxInfodate,min(infodate) MinInfodate from view_infomain where CategoryNum like '" + categoryNum + "' and InfoStatusCode = 9 "; DataView dv = new Epoint.Common.DBOperate().ExecuteSQL_ToDataView(StrConstring, strSql); var Params = "{\"Year\":[{\"MaxYear\":\"0\",\"MinYear\":0}]}"; if (dv.Count <= 0) { return Params; } string MaxYear = dv[0]["MaxInfodate"].ToString().Substring(0, 4); string MinYear = dv[0]["MinInfodate"].ToString().Substring(0, 4); //Params = "{'MaxYear':'"+MaxYear+"' ,'MinYear':'"+MinYear+"' }"; Params = "{\"Year\":[{\"MaxYear\":\"" + MaxYear + "\",\"MinYear\":\"" + MinYear + "\"}]}"; return Params; } }