Gridview和FileUpload控件
问题描述:
我有一个gridview,它将图像显示为其中一列的一部分。在编辑模式下,我想让用户能够上传新的图像文件,因此我在模板的编辑部分使用了FileUpload控件。Gridview和FileUpload控件
我有一个事件捕捉到了这个,我相信:
protected void GridVew1_RowUpdated(object sender, GridViewUpdateEventArgs e)
{
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Server.MapPath("images/hardware/" + FileUpload1.FileName));
}
}
我不知道如何正确地调用控件,但...这是如何编码的功能?
答
首先,你需要处理RowUpdating事件,而不是RowUpdated。然后,您需要在该行中找到对FileUpload控件的引用。
重要提示:您需要知道控件所在列的序号位置。在我的例子中,我将它设置为0,假设它是第一列。否则,您需要通过Cells集合才能找到它。
protected void gridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = gridView.Rows[e.RowIndex];
FileUpload fileUpload = row.Cells[0].FindControl("fileUpload1") as FileUpload;
if (fileUpload != null && fileUpload.HasFile)
{
fileUpload.SaveAs(Server.MapPath("images/hardware/" + fileUpload.FileName));
}
}
答
如果我理解你将有你在这里做什么,找到该行
所以在VB一些这样的事
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim aRow As GridViewRow = Me.GridView1.Rows(e.RowIndex)
dim xFileUpload as fileupload = CType(aRow.FindControl("FileUpload1"), FileUpload)
xFileUpload. save file etc etc etc
End Sub
买者在控制 - 如果这是错的我很想看到更好的方式来做到这一点!
感谢文件上传完美。我看到Cells [0],但似乎找到控制,无论我设置为...不知道为什么。 – Kolten 2009-04-23 21:51:41