Frage

Ich habe einen ImageButton zu bauen innerhalb von radgridview verändert.Es ist wie folgt definiert.

<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" />

Es lädt richtig.Wenn ich drauf klicke, erwarte ich, dass Sie zu schlagen, die folgende codebehind-Methode:

protected void QueryDelete(object sender, EventArgs e)
{
/* A bunch of code*/
}

Es wird nie dort.Was ist mehr fustrating ist, dass, wenn ich ersetzen Sie das ImageButton mit

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

Es funktioniert perfekt.Gibt es etwas falsch mit ImageButton?Bin ich etwas fehlt?

BEARBEITEN - Neue info

Im Grunde, wenn die Schaltfläche Bild gerendert wird, gibt es keinen href -.

Seltsam--

<input type="image" style="height: 10px; width: 10px; border-width: 0px;" src="../Assets/Images/Misc/delete.jpg"
id="ctl00_ctl00_ctl00_AllContent_MainContent_MainContent_controlPanelQueryHistory_saved_RadGridQueryHistory_ctl00_ctl04_ImageButton1"
name="ctl00$ctl00$ctl00$AllContent$MainContent$MainContent$controlPanelQueryHistory_saved$RadGridQueryHistory$ctl00$ctl04$ImageButton1"/>

<a
href="javascript:__doPostBack('ctl00$ctl00$ctl00$AllContent$MainContent$MainContent$controlPanelQueryHistory_saved$RadGridQueryHistory$ctl00$ctl04$ImageButton_DeleteRun','')"
id="ctl00_ctl00_ctl00_AllContent_MainContent_MainContent_controlPanelQueryHistory_saved_RadGridQueryHistory_ctl00_ctl04_ImageButton_DeleteRun">delete</a>
War es hilfreich?

Lösung

Als eine Arbeit um, Sie könnten versuchen, wickeln Sie ein Bild in ein 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>

Andere Tipps

Vielleicht ist die Seite Validierung?Wenn ja, versuchen Sie, CausesValidation=false, um die ImageButton.

Sie möchten möglicherweise versuchen Sie es ersetzen OnClick mit OnCommand, um zu sehen, ob dies das problem löst.

Dumme Frage - aber ist das ImageUrl rendering eine gültige Bild-oder rot-x?

Beide link-Arten, die in die Seite und dann auf "Quelltext Anzeigen" auf der nächsten Seite.Dies kann Ihnen einige Hinweise darauf, was passiert.Es kann sein, das rendering der ImageButton in einer Weise, dass JavaScript-oder CSS-ist Durcheinander.

Wie bekommt man die Argumente in OnClick?Sie haben eine EventArgs.Das on-command-handler hat CommandEventArgs mit der Befehlsname und CommandArguments:

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

Würde es Sinn machen, verwenden Sie die OnCommand.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top