Asp.net ImageButton未命中代码绑定方法,但如果替换为LinkButton,则会命中

Asp.net ImageButton未命中代码绑定方法,但如果替换为LinkButton,则会命中,asp.net,asp.net-ajax,asp.net-3.5,imagebutton,Asp.net,Asp.net Ajax,Asp.net 3.5,Imagebutton,我在radgridview columnn中构建了一个ImageButton。它的定义如下 <asp:ImageButton ID="ImageButton_DeleteRun" ImageUrl="~/Assets/Images/Misc/delete.png" runat="server" OnClick="QueryDelete" CommandName="QueryDelete" CommandArgument='<%# DataBinder.Eval(Container,

我在radgridview columnn中构建了一个ImageButton。它的定义如下

<asp:ImageButton ID="ImageButton_DeleteRun" ImageUrl="~/Assets/Images/Misc/delete.png"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'
Width="10" Height="10" />
它永远不会到达那里。更重要的是,如果我将ImageButton替换为

<asp:LinkButton ID="ImageButton_DeleteRun" Text="X"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'/>


页面是否正在验证?如果是,请尝试将CausesValidation=false添加到ImageButton。

页面是否正在验证?如果是,,尝试将CausesValidation=false添加到ImageButton。

您可能想尝试将OnClick替换为OnCommand,看看这是否解决了问题。

您可能想尝试将OnClick替换为OnCommand,看看这是否解决了问题。

愚蠢的问题-但是ImageUrl呈现的是有效图像还是红色x?

愚蠢的问题-但是呈现有效图像或红色x的ImageUrl?

将两种链接类型都放在页面中,然后将“查看源”放在结果页面上。这可能会给你一些关于正在发生什么的线索。它可能以JavaScript或CSS弄乱的方式呈现
ImageButton

将这两种链接类型都放在页面中,然后在生成的页面上“查看源代码”。这可能会给你一些关于正在发生什么的线索。它可能以JavaScript或CSS弄乱的方式呈现
ImageButton

如何在OnClick中获取命令参数?您有一个EventArgs。 OnCommand处理程序具有包含CommandName和CommandArguments的CommandEventArgs:

protected void image_Command(object sender, CommandEventArgs e)
{
}

使用OnCommand是有意义的。

如何在OnClick中获取命令参数?您有一个EventArgs。 OnCommand处理程序具有包含CommandName和CommandArguments的CommandEventArgs:

protected void image_Command(object sender, CommandEventArgs e)
{
}

使用OnCommand是有意义的。

作为一种解决方法,您可以尝试在链接按钮中包装图像

<asp:LinkButton ID="ImageButton_DeleteRun" Text="X"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'>
    <img src="~/Assets/Images/Misc/delete.png" /> 
</asp:LinkButton>

作为一种解决方法,您可以尝试在链接按钮中包装图像

<asp:LinkButton ID="ImageButton_DeleteRun" Text="X"
runat="server" OnClick="QueryDelete" CommandName="QueryDelete" 
CommandArgument='<%# DataBinder.Eval(Container,"DataItem.QueryGuid") %>'>
    <img src="~/Assets/Images/Misc/delete.png" /> 
</asp:LinkButton>


我认为这就是答案,它需要一个特定的处理程序。这不是解决方案。使用OnClick只意味着正在设置的CommandArgument不会发送到事件处理程序,因此毫无意义。也不行——我想我现在只能使用LinkButton:-(将处理程序的名称更改为与命令参数名称不同的其他名称,只是为了排除它……我认为这是答案,它需要某个处理程序。这不是解决方案。使用OnClick只是意味着正在设置的CommandArgument不会发送到事件处理程序,因此是无意义的。也不行——我认为nk我现在只能使用链接按钮:-(将处理程序的名称更改为与命令参数名称不同的其他名称,只是为了排除它…这是一个有效的图像,这是我检查的第一件事,因为我知道至少必须指定ImageURL。尝试使用PNG以外的其他名称吗?这是一个有效的图像,这是我检查的第一件事,因为我知道ImageURL至少要指定st。是否尝试使用PNG以外的其他内容?