ASP ImageButton vs Button

时间:2011-11-22 04:43:11

标签: c# asp.net aspbutton

我是asp.net的新手,我对如何解决这个问题感到很困惑。我有为所有内容编写的后台代码,现在我只是让所有东西“看起来很漂亮”。最初我有一个ASP按钮来提交表单。现在我希望按钮是一个ASP ImageButton。但是现在我的方法由于此更改而返回错误。这就是它的样子:

 //.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)
        {
            ;
        }
    }

将按钮更改为图像按钮后生成的错误是:

  

无法将'System.EventHandler'转换为   'System.Web.UI.ImageClickEventHandler'

所以我的主要问题是:如何修复此错误?这会影响我发送到服务器的数据(当它只是一个按钮时会导致不同的行为吗?)

3 个答案:

答案 0 :(得分:4)

使用以下行

protected void btnSubmit_Click(object sender, ImageClickEventArgs e)

而不是

void btnSubmit_Click(object sender, EventArgs e)

因为图像按钮有不同的事件处理程序.. 谢谢 Gourav

答案 1 :(得分:3)

ImageButton.OnClick的事件签名与Button.OnClick不同:

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

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

答案 2 :(得分:0)

试试这个...... 复制以前的方法代码(在btnSubmit_Click中),然后删除整个方法,转到UI(在设计模式下)双击图像按钮&amp;粘贴复制的代码&amp;运行