V Vinnaren Medlem sedan sep. 2005 833 inlägg Trådstart 30 dec. 2007 11:48 #1 Har följande GridView:
<asp:GridView
ID="gvFile"
CssClass="adminFileList"
AlternatingRowStyle-CssClass="oddRow adminFileListRow"
AutoGenerateColumns="False"
RowStyle-CssClass="adminFileListRow"
EmptyDataText="Finns inga filer att visa"
EmptyDataRowStyle-CssClass="adminFileListEmpty"
runat="server"
OnRowCommand="gvFile_RowCommand"
OnDataBound="gvFile_DataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkChecked" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="adminFileName" HeaderText="Filnamn">
<ItemTemplate>
<asp:LinkButton
ID="lbtnFile"
runat="server"
Text='<%# Eval("Name") %>'
ToolTip='<%# Eval("Name") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="adminFileMeny">
<ItemTemplate>
<asp:ImageButton
ID="ibtnDelete"
CommandName="Delete"
toolTip="Ta bort"
CausesValidation="false"
CommandArgument='<%# Eval("Name") %>'
ImageUrl="~/bilder/filemanager/del.gif"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
När man klickar på delete ska den raden tas bort, men följande kod vill inte fungera:
protected void gvFile_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
String lnkName = e.CommandArgument.ToString();
File.Delete(Path.Combine(GetFolderPath(), lnkName));
BindGrid();
}
}
Den går inte in i gvFile_RowCommand när man klickar på knappen ta bort.
Får inget felmeddelnde, utan det blir bara en postback.
Vad kan det vara för fel?
Tacksam för all hjälp
CatZ Medlem sedan jan. 2002 2 440 inlägg <asp:ImageButton
ID="ibtnDelete"
CommandName="Delete"
[b]OnCommand="DeleteRow"[/b]
toolTip="Ta bort"
CausesValidation="false"
CommandArgument='<%# Eval("Name") %>'
ImageUrl="~/bilder/filemanager/del.gif"
runat="server" />
protected void ibtnDelete_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
if (e.CommandName == "Delete")
{
String lnkName = e.CommandArgument.ToString();
File.Delete(Path.Combine(GetFolderPath(), lnkName));
BindGrid();
}
}
Det är inte gridviewn som orsakar ditt command i det här läget. Tror du måste ha det som en boundcolumn för att det ska registreras. Du får helt enkelt lägga till OnCommand till din imagebutton istället.