ListView +当前行+ ImageButton

时间:2012-08-13 13:51:58

标签: c# asp.net listview imagebutton

我有一个名为“Account”的MSSQL表,它存储了帐户信息:

的AccountID 供应商ID 帐号 AccountDate AccountFileName(pdf文件的名称) AccountFileData(PDF文件的内容,varbinary(max))

我还有一个ListView(通过DataSource绑定到表“Account”),在ItemTemplate中显示帐户信息和ImageButton。 当我在ListView的行中单击ImageButton时,我想根据PDF文件打开。

有人知道我该怎么办?

1 个答案:

答案 0 :(得分:0)

这应该很简单。在项目模板中配置图像按钮,并为其指定CommandName和CommandArgument(绑定到ID):

 ...
 <ItemTemplate>
     ...
     <asp:ImageButton runat="server" id="foobar" CommandName="DownloadPDF" CommandArgument='"<%# Eval( "AccountID" ) #>' />
 </ItemTemplate>

然后,将OnItemCommand添加到ListView:

 <asp:ListView .... OnItemCommand="TheListView_ItemCommand"

并实现它以捕获来自子控件(ImageButton)的DownloadPDF通知:

    protected void TheListView_ItemCommand( object sender, ListViewCommandEventArgs e )
    {
        switch ( e.CommandName )
        {
            case "DownloadPDF":

                string accountID = e.CommandArgument;

                // now create the PDF and send it back to the client

                break;
        }
    }