public int ModAdd(string[] key, string txtDate,string ids)
{
Dictionary<string, string> dickey = new Dictionary<string, string>();
List<Referkey> likey = new List<Referkey>();
int j = 2;
Cal li = new Cal();
int id = Convert.ToInt32(Session["adm_ID"]);
for (int i = 0; i < key.Length; i++)
{
//后台接收到的数组形式
// currentTime = [\"currentTime\",\"20:30\"]
//分解数组
string keystr = key[i].Replace("\",\"", "^");
string keystr1 = keystr.Replace("[\"", "");
string keystr2 = keystr1.Replace("\"]", "");
string[] keys = keystr2.Split('^');
dickey.Add(keys[0], keys[1]);
if ((i + 1) % 7 == 0)
{
Referkey r = new Referkey();
r.Cutime = dickey["currentTime" + j];
r.Customername = dickey["customerName" + j];
r.Customertel = dickey["customerTel" + j];
r.Plancontent = dickey["plancontent" + j];
r.Progress = dickey["progress" + j];
r.Visit = dickey["visit" + j];
r.Visitagain = dickey["visitAgain" + j];
likey.Add(r);
j = j + 1;
}
} return li.ModAddTbl(likey, txtDate, id, Convert.ToInt32(ids)); }
运行这一段的时候出错了,说是索引超出了数组界限。各位帮忙看看!!
{
Dictionary<string, string> dickey = new Dictionary<string, string>();
List<Referkey> likey = new List<Referkey>();
int j = 2;
Cal li = new Cal();
int id = Convert.ToInt32(Session["adm_ID"]);
for (int i = 0; i < key.Length; i++)
{
//后台接收到的数组形式
// currentTime = [\"currentTime\",\"20:30\"]
//分解数组
string keystr = key[i].Replace("\",\"", "^");
string keystr1 = keystr.Replace("[\"", "");
string keystr2 = keystr1.Replace("\"]", "");
string[] keys = keystr2.Split('^');
dickey.Add(keys[0], keys[1]);
if ((i + 1) % 7 == 0)
{
Referkey r = new Referkey();
r.Cutime = dickey["currentTime" + j];
r.Customername = dickey["customerName" + j];
r.Customertel = dickey["customerTel" + j];
r.Plancontent = dickey["plancontent" + j];
r.Progress = dickey["progress" + j];
r.Visit = dickey["visit" + j];
r.Visitagain = dickey["visitAgain" + j];
likey.Add(r);
j = j + 1;
}
} return li.ModAddTbl(likey, txtDate, id, Convert.ToInt32(ids)); }
运行这一段的时候出错了,说是索引超出了数组界限。各位帮忙看看!!
{
Dictionary<string, string> likey= new Dictionary<string,string>();
List<ReKey> dis=new List<ReKey>();
int j = 2;
B ad = new B();
for (int i = 0; i < array.Length; i++) {
//后台接收到的数组形式
// Team = [\"Team\",\"书香店\"]
//分解数组
string keystr = array[i].Replace("\",\"", "");
string keystr1 = keystr.Replace("[\"", "");
string keystr2 = keystr1.Replace("\"]", "");
string[] keys = keystr2.Split('^');
likey.Add(keys[0], keys[1]);
if ((i + 1) % 3 == 0) {
ReKey r = new ReKey();
r.Team = likey["team" + j];
r.Re = likey["re" + j];
r.HidDeptNo = likey["hiddeptno" + j];
dis.Add(r);
j = j + 1;
}
}
return ad.Refer(dis, shopno);
}是这和段出错了。运行这一段的时候出错了,说是索引超出了数组界限。各位帮忙看看!!
最好用断点
有段点了,就是在 likey.Add(keys[0], keys[1]);这么一句的地方出错了
split的时候得到的keys数组只有一个了呗,还能是啥原因。
像8楼说的你的keys.count估计是等于1
keys是string[1],dicdey.count是等于0
这说明最大只能使用keys[0]来访问。
里加^,现在可以了,谢谢各位!!
likey.Add(keys[0], keys[1]);在截取keystr2的时候,要不没截取到, 要不就只截取到一个!所以你要解决的话, 就在调试的时候看下
keystr keystr1 keystr2 keys 这几个的值,一步一步来!看各个步骤获取的值是不是你预期估计的值。