我有一个 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));
}
}
关于c# - 带有 FileUpload 控件的 Gridview,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/783597/