2016-05-01 1 views
-1

Я использую Gridview, содержащий идентификатор. Я хочу написать событие Row_deleting, в котором я обращаюсь к ID с моей страницы .aspx, но я не получаю его.Не удается получить доступ к ID при удалении строки из GridView

Как я могу это сделать?

Вот мой Gridview Код

<asp:LinkButton ID="lnkDelete" 
    runat="server" CssClass="gridLink" 
    CommandArgument='<%# Eval("Serial_key") %>' 
    CommandName="Delete"> 
    <b>Delete</b> 
</asp:LinkButton> 
+2

Это все из кода? –

ответ

0

первый в вашем GridView установлен AutoGenerateDeletebutton = верно, то используйте эту ссылку How to use the GridView AutoGenerateDeletebutton

protected void DeleteRowButton_Click(Object sender, GridViewDeleteEventArgs e) 
{ 

var PN = GridView1.DataKeys[e.RowIndex].Values["Part_Number"];// this is how you get the right row to delete e.rowindex is used to do this 
string PN = pn.ToString; 
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["XMLConnectionString"].ConnectionString); 
// Create the command object 
con.Open(); 
string str = "DELETE * FROM XML WHERE ([Part_Numbber] = " + PN + ")"; 
SqlCommand cmd = new SqlCommand(str, con); 
cmd.ExecuteNonQuery(); 
Button1_Click(sender, e); 
con.Close(); 
} 
0

Для удаления какой-либо записи из базы данных, вам нужно уникальный или первичный ключ колонка. Если вы хотите удалить запись, используя столбец «Serial_key». Затем поставьте следующий код в Delete.

<ItemTemplate> 
<asp:Label ID="lblSerial_key" runat="server" Text='<%# Eval("Serial_key") %>'></asp:Label> 
<asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" /></ItemTemplate> 

Теперь вы можете использовать lblSerial_key удалить ряд

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
     string Serial_key = string.Empty; 
     Label lblId = (Label)GridView1.Rows[e.RowIndex].Cells[0].FindControl("lblSerial_key"); 
     Serial_key = lblId.Text.ToString(); 
     string selectSQL = "delete from tablename where id='" + Serial_key + "'"; 

     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 
     // Create the command object 
     con.Open(); 
     SqlCommand cmd = new SqlCommand(selectSQL , con); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
    } 
+0

Thanx Для вашего ответа. Теперь его работа прекрасна. –

Смежные вопросы