/ / Przycisk przesyłania pliku dla każdego wiersza wewnątrz widoku siatki i przycisk przesyłania w asp.net - asp.net

Przycisk przesyłania plików dla każdego wiersza wewnątrz widoku siatki i przycisk do przesłania w asp.net - asp.net

Potrzebuję mieć przycisk przesyłania pliku dla każdego wiersza wwidok siatki. Wreszcie potrzebuję przycisku, aby przesłać pliki wybrane z przycisku pobierania plików. Mam kod, ale ma zarówno przycisk przesyłania pliku, jak i przycisk do aktualizacji, jednak jeśli zmienię nazwę polecenia, to nie będzie działać. Poniżej znajduje się mój kod.

W moim kodzie wyświetlam zarówno przyciski pobierania plików, jak i aktualizacje przycisków. Działa to dobrze, ale potrzebuję wielu przycisków przesyłania plików z jednym przyciskiem, aby zaktualizować wszystkie pliki.

    <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));
}
}
}

Odpowiedzi:

0 dla odpowiedzi № 1

Wygląda na to, że jesteś blisko. Po prostu chcesz zrobić to samo na wszystkich wierszach. Możesz do tego użyć pętli foreach:

protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
FileUpload file = (FileUpload)row.FindControl("FileUpload1");

if (file != null)
{
if (file.HasFile)
{
// Save your file here
}
}
}
}