2016-12-26 2 views
0

я написал код для редактирования удалить и обновить GridView, но его не работало при обновлении его только что прошлые значения не новые здесь на стороне сервера код:косяк GridView обновление путем обновления метода asp.net

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
     try 
     { 

      TextBox na = (TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]; 
      TextBox i = (TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]; 
      TextBox sid = (TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]; 
      //  string a = name.Text; 
      string name = na.Text; 
      int id = Convert.ToInt32(i.Text); 
      String stdid = sid.Text; 


      String query = "update [table] set [email protected],[email protected] where [email protected] "; 
      SqlConnection sqc = new SqlConnection(cons); 
      SqlCommand qu = new SqlCommand(query, sqc); 
      qu.Parameters.AddWithValue("@name", name); 
      qu.Parameters.AddWithValue("@stdid", stdid); 
      qu.Parameters.AddWithValue("@id", id); 
      string f = qu.CommandText; 
      sqc.Open(); 
      qu.ExecuteNonQuery(); 
      sqc.Close(); 
     } 
     catch (Exception ee) { } 
     refresh_dgv(); 
    } 

и есть мой клиент сторона треска:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
OnRowDeleting="GridView1_RowDeleting"OnRowEditing="GridView1_RowEditing"  OnRowUpdated="GridView1_RowUpdated" OnRowUpdating="GridView1_RowUpdating" OnSelectedIndexChanged="GridView1_SelectedIndexChanged1" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"> 
     <Columns> 

       <asp:BoundField DataField="id" HeaderText ="id"/> 
       <asp:BoundField DataField="name" HeaderText="name" /> 
       <asp:BoundField DataField="stdid" HeaderText="stdid" /> 

      </Columns> 
    </asp:GridView> 
+0

Можете ли вы показать строку подключения? –

+0

Какая ошибка? –

+0

@ s.akbari static String cons = @ "Источник данных = (LocalDB) \ MSSQLLocalDB; AttachDbFilename = E: \ uni \ internet \ homeworcks \ tamrin6 \ IECH_HW6_9250030_GHORBANI_ALI \ IECH_HW6_9250030_GHORBANI_ALI \ alighorbani_dataview1 \ dataview.mdf; Integrated Security = True; время ожидания подключения; = 30" ; – alighorbani

ответ

0

Этот вопрос можно решить несколькими способами, как показано ниже.

1. Мы должны проверить, отправлена ​​ли страница назад или нет. Если нет, мы свяжем Grid.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     BindGrid(); 
    } 
} 

2. Использование ключевых полей например.

<asp:gridview id="GridView1" 
    ... 
       DataKeyNames="ProjectID" 
    /> 
string empsname = Convert.ToString(grdvw1.DataKeys[e.RowIndex].Values[1]); 

3.

EnableViewState свойство ложной из GridView вы можете получить новое значение

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