Q:
У меня есть сетка, и я пытаюсь удалить какую-то запись, я храню свои первичные ключи в DataKeyNames
.
мой вопрос состоит из двух частей:
1-следующий код делает исключение, я не знаю причину:
protected void gv_courses_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
int index = Convert.ToInt32(e.CommandArgument);
ICollection keys = gv_moreCourses.DataKeys[index].Values;
//////the rest of the code.
}
catch (Exception ee)
{
string message = ee.Message;
}
}
мой aspx:
DataKeyNames="permission_code,lect_code,note_title,iscourse"
<asp:ImageButton ID="btn_Delete" runat="server" CausesValidation="False" ImageUrl="~/Images/Symbols-Delete-icon.png"
CommandArgument='<%#((GridViewRow)Container).RowIndex%>' CommandName="deleteCourse" />
Исключение: в этой строкеgv_moreCourses.DataKeys[index];
System.ArgumentOutOfRangeException
2 - Если я решу первую проблему, как получить доступ к каждому значению в моем keys
.prefer LINQ
.