2016-08-30 18 views
0

私のdatatableでは、arrayに値を割り当てます。しかし、私のコードでは、値が適切に割り当てられていません。IDが配列内で正しく割り当てられていない

私のdatatableからは、テーブルに2つの行があります。しかし、割り当て中に私はエラーが発生する

インデックスが配列の境界外にありました。

ここでcontrol_id列が(単一のコントロールのIDのような)コンマを持っていない値が含まれていることが可能というのが私のコード

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); 
} 
+0

あなたが分割している「control_id」にあなたが持っているものを表示する必要がありますが、私はあなたが位置2の配列を持っていないと仮定します: 'StrArrPriTextID [2]'。インデックス値は0から –

+0

までです@GiladGreen:control_idには、テキストボックスの 'Txt_SURVEY' IDがあります。 2つのIDがすべてあります – BNN

+0

いくつかのデータを表示できますか? –

答えて

1

です。その場合

以下ライン

string[] StrArrPriTextID = DtGrid.Rows[IntPriCount]["control_id"].ToString().Split(',');

Split()後アレイStrArrPriTextIDは、唯一の要素を有することになります。

だから、あなたが助け

foreach(string str in StrArrPriTextID) 
    HidTextControl.Value += str + ";"; 

希望にエラー行

HidTextControl.Value += StrArrPriTextID[2].ToString() + ";";

を変更する必要があります。

関連する問題