gpt4 book ai didi

c# - ASP.NET 从动态添加的 FileUpload 控件中保存文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:32 25 4
gpt4 key购买 nike

我正在构建一个 ASP.NET 用户控件,网站用户可以在其中一次上传多张图片。我用老式的方式让用户输入所需的 FileUpload 控件的数量,然后将它们从 C# 动态添加到 asp:Panel 控件。

虽然这有效,但当用户单击“保存”按钮时,不会存储来自 FileUpload 的值/文件。我该如何解决这个问题?

我指定所需 FileUpload 控件数量的代码:

protected void btnSubmitImageAmount_Click(object sender, EventArgs e)
{
int amountOfControls = Convert.ToInt32(txtImageAmount.Text);

for (int i = 0; i < amountOfControls; i++)
{
FileUpload fUl = new FileUpload();
Label lblLineBreak = new Label();
lblLineBreak.Text = "<br />";
fUl.ID = i.ToString();
fUl.Visible = true;
pnlUploadControls.Controls.Add(fUl);
pnlUploadControls.Controls.Add(lblLineBreak);
}
}

保存按钮的代码:

protected void btnCreateStory_Click(object sender, EventArgs e)
{
List<Media> images = new List<Media>();

foreach (Control ctrl in pnlUploadControls.Controls)
{
if (ctrl is FileUpload)
{
FileUpload fUl = (FileUpload)ctrl;
Media media = UmbracoSave(fUl, storydDoc.Id);
if (media != null)
{
images.Add(media);
}
}
}
}

有人知道如何解决这个问题吗? :)

提前致谢!

最佳答案

您需要在每次回发时重新创建动态控件,否则它们将不复存在。

我建议阅读 this文章并了解有关 page life cycle 的更多信息.

关于c# - ASP.NET 从动态添加的 FileUpload 控件中保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com