簡體   English   中英

無法通過更新方法asp.net更新gridview

[英]cant update gridview by updating method asp.net

我寫了一個用於編輯刪除和更新gridview的代碼,但是它在更新過程中沒有起作用,只是得到了過去的值,而不是服務器端代碼:

    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 name=@name,stdid=@stdid where id=@id ";
            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>

此問題可以通過以下多種方式解決。

1.我們必須檢查頁面是否回發。 如果沒有,那么我們將綁定網格。

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。

gridview的 enableviewstate屬性設置為false可以獲取新值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM