目的:在DridView中的每一行显示任务进度条!
HttpHandler实现如下:

namespace THOA.Web.Utility
{
    
class HandlerTaskbar : IHttpHandler
    
{
    
IHttpHandler 成员

}

请注意回写代码!

编译为dll,在Web app中引用生成的dll,假设名称为THOA.Web.Utility.dll,在web.config文件添加

<httpHandlers>
        
<add verb="GET" path="Taskbar.aspx" type="THOA.Web.Utility.HandlerTaskbar,THOA.Web.Utility" />
    
</httpHandlers>

Web Form代码如下:
<asp:GridView ID="gvTask" runat="server">
        
<Columns>
            
<asp:TemplateField HeaderText="进度">
            
<HeaderStyle HorizontalAlign="center" Width="45px"/>
            
<ItemTemplate>
                
<asp:Image runat="server" ID="imgBar" />
            
</ItemTemplate>
            
</asp:TemplateField>
        
</Columns>
    
</asp:GridView>

Web Form cs文件代码:

void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
    Image imgBar 
= e.Row.FindControl("imgBar"as Image;
    
if (imgBar != null)
            imgBar.ImageUrl 
= "Taskbar.aspx?task_id=" + e.Row.Cells[0].Text;
}

到此处大功告成,看看实际效果


另外,建议将出现频率高的进度缓存,以提高速度!
posted on 2006-10-13 14:55  安森  阅读(2866)  评论(24编辑  收藏  举报