什么是[e.RowIndex]和[e.RowIndex]的工作方式。简要说明

时间:2019-07-05 15:38:04

标签: c# asp.net

我是asp.net技术的新手,我不明白下面特别提到的代码的正确含义,请提前向我解释谢谢。

  1. e在此代码中的作用是什么。

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)    
    {       
        int eno, es;
    
        string en, ed;
    
        eno =Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("lb1"))).Text);
    
        en = ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("t1"))).Text;
        ed = ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("t2"))).Text;
        es=Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].FindControl("t3"))).Text);
        SqlConnection con = new SqlConnection();
        con.ConnectionString = ConfigurationManager.ConnectionStrings["cn"].ConnectionString;
        con.Open();
        SqlCommand cmd = new SqlCommand("updemp",con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@eno", eno);
        cmd.Parameters.AddWithValue("@en", en);
        cmd.Parameters.AddWithValue("@ed", ed);
        cmd.Parameters.AddWithValue("@es", es);
        cmd.ExecuteNonQuery();
    }
    

3 个答案:

答案 0 :(得分:1)

在这种情况下,e对应于事件模式的签名,标准模式表示您从委托(对象发送者,EventArgs e)接收到,在这种情况下,每次更新行时都有一个事件。 e.RowIndex对应于要更新的​​行的索引,e具有其他属性,例如新值或旧值。为了进一步研究,我建议使用microsft文档,https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.gridviewupdateeventargs?view=netframework-4.8

答案 1 :(得分:1)

正如对象建议的(GridViewUpdateEventArgs),“ e”代表与网格视图更新有关的事件。您可以获得与其他事件(例如删除等)相关的类似方法签名。

“ RowIndex”与触发此事件的行的索引有关。因此,所示代码根据正在更新的行得到4件事;标签控件中的文本称为“ lbl”,文本框控件中的文本称为“ t1”,“ t2”和“ t3”。然后,将这些值作为参数传递到sql存储过程中。

答案 2 :(得分:1)

点击行的“更新”按钮时会触发

GridView_RowUpdating事件

使用e.RowIndex从Gridview中找到要更新的行的控件。

下面的链接用于深度学习:

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.gridview.rowupdating?view=netframework-4.8