2014-12-02 67 views
-3

我想显示数据从数据库到网格视图与图像文件。在使用下面给出的代码时,它显示一个错误。帮助我找到一个合适的解决方案。'Button1_Click'没有超载与委托'System.EventHandler'匹配吗?

代码:

protected void Button1_Click(object sender, GridViewRowEventArgs e1) 
    { 
     ShadingAnalysisDataSetTableAdapters.tbl_SiteLayOutUploadTableAdapter sl; 
     sl = new ShadingAnalysisDataSetTableAdapters.tbl_SiteLayOutUploadTableAdapter(); 
     DataTable dt = new DataTable(); 
     dt = sl.GetGridData(ddlSit.SelectedValue, int.Parse(ddlVersion.SelectedValue)); 
     try 
     { 
      if (e1.Row.RowType == DataControlRowType.DataRow && gvEdit.EditIndex == e1.Row.RowIndex) 
      { 
       Image Image1 = (Image)e1.Row.FindControl("Image1"); 
       foreach (DataRow row in dt.Rows) 
       { 
        byte[] img1 = (byte[])row["ImgData"]; 
        string base1 = Convert.ToBase64String(img1); 
        Image1.ImageUrl = "data:image/jpg;base64," + base1; 
       } 
      } 
      gvEdit.DataSource = dt; 
      gvEdit.DataBind(); 
     } 
     catch (NullReferenceException ex) 
     { 

     } 
    } 

ASPX:

<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" /> 
+1

GridView中的按钮? – ekad 2014-12-02 04:43:51

+0

'Button_Click(Object sender,EventArgs e)' - 这是按钮(从MSDN)的点击处理程序的默认协议。您为按钮点击事件处理程序提供的是'GridViewRowEventArgs'。你应该使用'EventArgs'吗? – 2014-12-02 04:45:56

+1

永远不要忽视异常,除非是非常罕见的情况。并且不要忽略'NullReferenceException'。 – 2014-12-02 04:57:24

回答

2

您需要更改函数原型如下图所示:

protected void Button1_Click(object sender, EventArgs e1) 
{ 
} 
+1

这就是我的意见@Rahul – 2014-12-02 04:47:49

+0

@KarthikNishanth我在同一时间输入我的回答 – 2014-12-02 04:49:44

+1

这不会解决问题,有'if(e1.RowType == DataControlRowType.DataRow'条件内的方法,它会产生另一个错误 – ekad 2014-12-02 04:51:24

1

Button1_Click的参数是错误的。它应该如下所示。

protected void Button1_Click(object sender, EventArgs e) 
{ 

} 
+1

这不会解决问题,代码将在'if(e1.Row.RowType == DataControlRowType.DataRow'条件中断,因为您还将'e1'更改为'e'。 – ekad 2014-12-02 04:56:38

相关问题