【发布时间】:2016-08-30 08:05:05
【问题描述】:
在我的 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"中显示您拥有的内容,但我假设您没有位置为 2 的数组:StrArrPriTextID[2]。请记住,当涉及到索引值时,它从 0 开始 -
@GiladGreen:在 control_id 中,我有
Txt_SURVEY文本框的 id。而且一共有两个id -
你能显示一些数据吗?特别是
DtGrid.Rows[IntPriCount]["control_id"].ToString().Split(',') -
如果您只有两个 ID,它们将被索引为 [0] 和 [1] - 不会有 [2]
-
在
HidTextControl.Value += StrArrPriTextID[2].ToString() + ";";中,索引值只能是[0] 或[1]。没有可用的索引 [2],因为只有 2 条记录。