2011-11-22 65 views
2

我是新來的asp.net的東西,我很困惑如何解決這個問題。我爲所有內容編寫了後面的代碼,現在我只是將所有內容「看起來很漂亮」。最初我有一個ASP按鈕來提交表單。現在我想讓按鈕成爲一個ASP ImageButton。但是現在我的方法正在返回一個錯誤,因爲這個改變。這是什麼樣子:ASP ImageButton vs Button

//.ascx file 
<div id="eSubmit"> 
    <asp:ImageButton id="btnSubmit1" runat="server" ImageUrl="~/Style/Images/addButtonE.png" /> 
</div> 


//method behind 
void btnSubmit_Click(object sender, EventArgs e) 
    { 
     if (!Page.IsValid) { return; } 

     try 
     { 
      //do some data checking 
      //bind entries 
     } 
     catch (ApplicationException ax) 
     { 
      ; 
     } 
    } 

即改變按鈕的ImageButton後產生的錯誤是:

無法將「System.EventHandler」到 「System.Web.UI.ImageClickEventHandler '

所以我的主要問題是:如何解決這個錯誤?這會影響我發送給服務器的數據嗎(這會導致不同的行爲,然後當它只是一個按鈕)?

回答

2

使用以下命令行

protected void btnSubmit_Click(object sender, ImageClickEventArgs e)

代替

void btnSubmit_Click(object sender, EventArgs e)

因爲圖像按鈕都有不同的事件處理程序.. 感謝 Gourav

+0

這是它。謝謝你加載。其他人讓我去修理一些其他的東西,但是這讓最後的錯誤消失了。 – yaegerbomb

2

ImageButton.OnClick都有不同的事件簽名比Button.OnClick

//imagebutton 
void btnSubmit_Click(object sender, ImageClickEventArgs e) 
{ 
    //....... 
} 

//button 
void btnSubmit_Click(object sender, EventArgs e) 
{ 
    //....... 
} 
0

試試這個... 複製以前的方法代碼(btnSubmit_Click),然後刪除整個方法,去UI(設計模式)雙擊圖像按鈕&粘貼複製的代碼&運行