2014-12-02 68 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

相關問題