【发布时间】:2011-09-16 15:00:22
【问题描述】:
使用下面的 jquery,我正在尝试将数组参数列表提交到下面的相应 Web 方法。我在这里错过了什么?
<script type="text/javascript">
$(document).ready(function () {
var slider = $('.slider').slider({
range: "min",
min: 0,
max: 100,
change: function (e, ui) {
var paramList = new Array();
var values = $('.slider').each(function () {
var s = $(this);
var aType = s.attr('itemName');
var point = s.slider("option", "value");
paramList.push(aType);
paramList.push(point);
});
CallPageMethod("SliderChanged", paramList, success, fail);
// $("#img1").fadeOut();
// alert("done");
},
slide: function (e, ui) {
var point = ui.value;
$("#selected_value").html(point);
// var width = 100 - point;
// $("#range").css({ "width": point + "%" });
}
});
function CallPageMethod(methodName, paramArray, onSuccess, onFail) {
//create list of parameters in the form
//{"paramName1":"paramValue1","paramName2":"paramValue2"}
var paramList = '';
if (paramArray.length > 0) {
for (var i = 0; i < paramArray.length; i += 2) {
if (paramList.length > 0) paramList += ",";
paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
}
}
paramList = '{' + paramList + '}';
//get the current location
var loc = window.location.href;
loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "default.aspx" : loc;
//call the page method
$.ajax({
type: "POST",
url: loc + "/" + methodName,
data: paramList,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: onSuccess,
fail: onFail
});
}
function success(response) {
var lbl = $('#<%= Label1.ClientID %>')
lbl.html("Your report is now ready for download.");
alert(response.d);
}
function fail(response) {
alert("An error occurred.");
}
});
</script>
我有以下网络方法:
[WebMethod]
public static string SliderChanged(string[] values)
{
return "successArray";
}
【问题讨论】:
-
我不认为你可以在不指定消息名称的情况下使用 webmethods 进行函数重载。你能解释一下你正在变得更好的错误,所以人们不必为此制定测试解决方案吗?来源:msdn.microsoft.com/en-us/library/…
-
我同意,据我所知,最后我检查过,您不能重载 Web 方法名称,因为它们生成为无法按参数类型区分重载的肥皂请求一个人。
-
好的 - 我只有一种方法(不再是重载)。我在visual studio中设置了断点,webmethod和success或fail方法都没有命中。
标签: jquery asp.net ajax webmethod