读书人

小弟我想在Repeater控件中实现下载功能

发布时间: 2013-07-16 22:38:04 作者: rapoo

我想在Repeater控件中实现下载功能
我想在Repeater中实现下载功能,但是不知道怎么实现,大侠们指点一下!
[解决办法]
加上超链接 不就能下载了吗?
[解决办法]
老兄,不得不说你也真是太懒了。

protected void Page_Load(object sender, EventArgs e) {
if (!this.IsPostBack) {

FileModel a = new FileModel() { FileId = 1, Name = "Test1", Size = "10kb", CreatedDate = DateTime.Now };
FileModel b = new FileModel() { FileId = 2, Name = "Test2", Size = "20kb", CreatedDate = DateTime.Now };
FileModel c = new FileModel() { FileId = 3, Name = "Test3", Size = "30kb", CreatedDate = DateTime.Now };

List<FileModel> lst = new List<FileModel>();
lst.Add(a);
lst.Add(b);
lst.Add(c);

this.Repearter1.DataSource = lst;
this.Repearter1.DataBind();
}
}

protected void Repearter1_ItemDataBound(object sender, RepeaterItemEventArgs e) {
HiddenField hdFileID = (HiddenField)e.Item.FindControl("hdFileID");
if (hdFileID != null) {
FileModel file = (FileModel)e.Item.DataItem;

hdFileID.Value = file.FileId.ToString();
}
}

protected void btnDownload_Click(object sender, EventArgs e) {
HiddenField hdFileId = (HiddenField)(((Button)sender).Parent).FindControl("hdFileID");
if (hdFileId != null) {
// 根据FileId可以获取文件的相关信息,比如路径等,然后下面实现下载
}
}

public class FileModel
{
public int FileId { get; set; }

public string Name { get; set; }

public string Size { get; set; }

public DateTime CreatedDate { get; set; }
}


前台代码:
<asp:Repeater ID="Repearter1" runat="server" onitemdatabound="Repearter1_ItemDataBound"> 


<HeaderTemplate>
<table>
<thead>
<tr>
<th>名称</th>
<th>大小</th>
<th>创建日期</th>
<th>下载</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Name") %></td>
<td><%# Eval("Size") %></td>
<td><%# Eval("CreatedDate") %></td>
<td>
<asp:HiddenField ID="hdFileID" runat="server" />
<asp:Button ID="btnDownload" runat="server" OnClick="btnDownload_Click" Text="下载" />
<%-- 不同的下载方式 --%>
<a href="http://download.yourdomain.com/files/<%# Eval("FileId") %>" target="_blank"></a>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>

读书人网 >asp.net

热点推荐