日期:2014-05-16  浏览次数:20757 次

AjaxPro 索引超出范围。必须为非负值并小于集合大小 - Web 开发 / Ajax
我使用AjaxPro向后台一个函数传参,js代码如下
function Sumbit() {
  var xml = "";
   
  document.getElementById("Sumbmit1").display = "none";
  xml = "<?xml version=\"1.0\" encoding=\"GB2312\"?>";
  xml += "<Sites>";

  xml += "<cmessage>";
  xml += "<name>" + document.getElementById("name").value + "</name>";
  xml += "<description>" + document.getElementById("description").value + "</description>";
  xml += "<leader>" + document.getElementById("leader").value + "</leader>";
  xml += "<pre_money>" + document.getElementById("pre_money").value + "</pre_money>";
  xml += "<now_money>" + document.getElementById("now_money").value + "</now_money>";
  xml += "<endtime>" + document.getElementById("endtime").value + "</endtime>";
  xml += "</cmessage>";
   
  var length = document.getElementById("table").rows.length;
  for (var i = 1; i <= length; i++) {
  xml += "<Memmbers>" + document.getElementById("span" + i).innerHTML + "</Memmbers>";
  }
  xml += "</Sites>";
  //向后台GetCtrlValue传参,参数就是上面收集数据的xml
  var res = register.GetCtrlValue(xml);
  document.getElementById("res").innerHTML = res;
  return true;
}

但是AjaxPro会给我报错,全部错误如下
({"error":{"Message":"索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index","Type":"System.ArgumentOutOfRangeException"}})

求救

------解决方案--------------------
xml的关键字符没有-这个字符,所以节点内存储2009-1-1这种格式的字符不会有问题。

感觉是你的project.AddNewproject(arryalistItem);这句代码导致出错。