【发布时间】:2013-03-08 10:04:19
【问题描述】:
我的 HTML 页面中有一些 <li> 项目,如下所示
<li id="A1" class="ui-state-default">Item 2</li>
<li id="A2" class="ui-state-default">Item 3</li>
<li id="A3" class="ui-state-default">Item 4</li>
<li id="A4" class="ui-state-default">Item 5</li>
我像这样使用 Javascript 和 Jquery 调用它来获取 <li> 元素的 Id 和索引
function LiOrder() {
var order = $('li').map(function (i) {
return { id: this.id, index: i };
}).get();
PageMethods.GetServerResponse(order, OnSuccess, OnFail);
}
function OnSuccess(arg) {
alert(arg);
}
WebMethod 写在 Aspx.cs 页面是这样的
[WebMethod]
public static string GetServerResponse(string[,] LiOrder)
{
return LiOrder[0,0];
}
但是当我尝试执行它时,我在谷歌浏览器(Javascript 控制台)中得到这样的错误
POST http://localhost:2453/ERP29.1.13/Production/LifeCycleRegistration.aspx/GetServerResponse 500 (Internal Server Error) ScriptResource.axd:6979
此错误的原因可能是什么。我可以像这样将字符串传递给 WebMethod。但是当涉及到 Array 时,它是这样的。请帮我解决这个问题
【问题讨论】:
-
仅使用字符串。它不是多维数组。
-
我们不能将数组传递给 PageMethods
-
调试时它显示我是一个数组。
-
无论您发送什么,它都将是 javascript 中的字符串或对象。您可以 json.stringfy,并将字符串发送到方法
-
也尝试过使用字符串。没有任何变化
标签: javascript jquery asp.net webmethod pagemethods