グリッド ビューの各行にファイル アップロード ボタンが必要です。最後に、ファイルアップロードボタンから選択したファイルをアップロードするボタンが必要です。コードはありますが、ファイルのアップロード ボタンと更新するボタンの両方がありますが、コマンド名を変更すると機能しません。以下は私のコードです。
私のコードでは、ファイルアップロードボタンとボタン更新の両方を表示しています。これは正常に機能しますが、すべてのファイルを更新するには、単一のボタンを備えた複数のファイル アップロード ボタンが必要です。
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" CommandArgument='<%# Container.DataItemIndex %>'
Text="Upload" OnClick="Button1_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string[] strArray = { "Test1", "Test2", "Test3" };
GridView1.DataSource = strArray;
GridView1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int index = int.Parse(((Button)sender).CommandArgument);
FileUpload file = (FileUpload)GridView1.Rows[index].FindControl("FileUpload1");
if (file != null)
{
if (file.HasFile)
{
Response.Write(file.PostedFile.FileName);
Response.End();
//file.SaveAs(Server.MapPath("~") + "\\DataBind\\" + System.IO.Path.GetFileName(file.PostedFile.FileName));
}
}
}