在我的网格视图中有一个LinkButton,我已经为该LinkButton定义了CommandName="Download" CommandArgument='<%#Eval("FileID")%>',但我不知道如何查找链接按钮的单击事件?请帮助我如何使用e. CommandName为这个LinkButton编码
<asp:GridView ID="GridViewEfile" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#000000" GridLines="Both" DataKeyNames="FileID">
<AlternatingRowStyle BackColor="Yellow" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick = "Retreive_file" CommandName="Download" CommandArgument='<%#Eval("FileID")%>'><%#Eval("FileName")%></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>发布于 2012-11-11 18:18:29
您不必同时使用Click和Command事件。命令就足够了。
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
// Do something with e.CommandName or e.CommandArgument
}
<asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command"
CommandName="Download" CommandArgument='<%#Eval("FileID")%>'>发布于 2012-11-11 18:18:00
您需要去掉单击event OnClick = "Retreive_file" on按钮。在这里没有任何意义
public void GridViewEfile_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Download")
{
// here goes your code
}
}发布于 2012-11-11 22:27:20
Remove OnClick = "Retreive_file"
<asp:GridView ID="GridViewEfile" runat="server" AutoGenerateColumns="False" OnRowCommand="GridViewEfile_OnRowCommand" CellPadding="4" ForeColor="#000000" GridLines="Both" DataKeyNames="FileID">
<AlternatingRowStyle BackColor="Yellow" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Download" CommandArgument='<%#Eval("FileID")%>'><%#Eval("FileName")%></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>和使用函数
public void GridViewEfile_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Download")
{
//you can get your command argument values as follows
string FileId=e.CommandArgument.ToString();
}
}https://stackoverflow.com/questions/13330210
复制相似问题