見つけたコード内で、gridviewを使用してasp.netのデータを表しています
dt.Rows[row.DataItemIndex]["Sunday"]=((TextBox(row.Cells[4].Controls[0])).Text;
それは投げout of range exception
ます。
(コントロール)に問題があると思いますが、解決方法がわかりませんので、助けていただけませんか?
行のセル数を確認してみてください。カウントは 0 から始まるため、セル #4 のコントロールを取得する場合は、それを 1 減算する必要があります。
((TextBox(row.Cells[3].Controls[0])).Text;
また、そのセルにコントロールがあるかどうかも確認してください。
インデックスによって要素にアクセスしようとしているもののコレクションに、実際に少なくとも期待される数のアイテムがあるかどうかを確認する必要があります。Length
、またはプロパティをチェックすることでそれを行うことができCount
ます(配列またはリストなどのタイプによって異なります)。
このエラーは、インデックスによるアクセスを使用する場所でスローされる可能性があるため、これらのそれぞれを条件付きで使用してください。次に、ユーザーに有効な入力を求めるなど、知っていることに従って何かを行うことができます。