ID没有在数组中正确分配
本文关键字:分配 数组 ID | 更新日期: 2023-09-27 18:04:45
在我的datatable
中,我将值赋给array
。但是在我的代码中,值没有被正确分配。
从我的datatable
中,表中有2行。但是在赋值的时候我得到了错误值
索引在数组边界之外。
我的代码
if (DtGrid.Rows[IntPriCount]["control_type"].ToString().ToUpper() == "T")
{
//Array for storing the Control ID.
string[] StrArrPriTextID = DtGrid.Rows[IntPriCount]["control_id"].ToString().Split(',');
HidTextControl.Value += StrArrPriTextID[2].ToString() + ";"; //error line
//Array for storing the Function name.
string[] StrArrFun = DtGrid.Rows[IntPriCount]["fun_name"].ToString().Split(',');
//HTML Table row object.
HtmlTableRow ObjPriTr = new HtmlTableRow();
//HTML table cell object.
HtmlTableCell ObjPriTd = new HtmlTableCell();
ObjPriTd.InnerText = DtGrid.Rows[IntPriCount]["label_name"].ToString();
ObjPriTd.Attributes.Add("class", "label");
ObjPriTr.Cells.Add(ObjPriTd);
}
您的control_id列可能包含一个没有逗号的值(如单个控件的ID)
在这种情况下,Split()
之后的下一行
string[] StrArrPriTextID = DtGrid.Rows[IntPriCount]["control_id"].ToString().Split(',');
数组StrArrPriTextID将只有一个元素。
所以,你应该改变错误行 HidTextControl.Value += StrArrPriTextID[2].ToString() + ";";
foreach(string str in StrArrPriTextID)
HidTextControl.Value += str + ";";
希望对你有帮助。