c# - FileUpload 上传代码隐藏。

标签 c# asp.net code-behind

如何仅使用 FileUpload 代码隐藏进行上传?我的控件是代码隐藏的,因为我有 Dropdown_SelectedIndexChanged 并且需要生成各种数量的控件。我可以很好地列出控件并将文件和文本附加到 txtbox:

        private void SetChildrenCountControls(int total)
        {
          for (int i = 0; i < total; i++)
          {
            var tbBirthDate = new TextBox();
            tbBirthDate.ID = "tbBirthDate_" + (i + 1);
            tbBirthDate.CssClass = "tbSister_input";
            tbBirthDate.EnableViewState = true;

            FileUpload upload = new FileUpload();
            upload.ID = "imgUpload_" + (i + 1);
            upload.CssClass = "tbSister_upload";
            upload.EnableViewState = true;

            ChildrenCountTextPanel.Controls.Add(tbBirthDate);
            ChildrenCountTextPanel.Controls.Add(upload);
          }
       }    

并且可以通过以下方式获取文本框中的输入文本:

         protected void lbFamilySave_Click(object sender, EventArgs e)
    {
        var countSisters = ChildrenCountTextPanel.Controls.OfType<TextBox>();
        string sisterBirth = string.Empty;
        foreach (var sister in countSisters)
        {
            if (sister.ID.Contains("tbBirthDate_"))
                sisterBirth = sister.Text;
        }
    } 

如何从 FileUpload 控件获取文件?上面的 FileUpload 似乎无法做到。

最佳答案

在下面的点击事件中,您得到的是文本框而不是文件上传控件

btn_protected void lbFamilySave_Click(object sender, EventArgs e)
{
        var countSisters = ChildrenCountTextPanel.Controls.OfType<TextBox>();

文件上传控件是这种类型System.Web.UI.WebControls.FileUpload

所以请获取 FileUpload 控件然后执行以下操作:

if (myFileUpload.HasFile)
{
  string savePath = @"C:\Temp\" + myFileUpload.FileName;

  myFileUpload.SaveAs(savePath);
}

关于c# - FileUpload 上传代码隐藏。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12513949/

相关文章:

JavaScript & C# - 如何检查隐藏元素的值

c# - 使用 jquery 和代码隐藏更新标签

c# - 一般设计模式实现建议

c# - 在静态类中声明 char 数组

c# - 客户端无法从服务器读取多条消息 (C#)

c# - 为什么我的 winforms 应用程序中的自动版本控制没有增加?

c# - 在 asp.net 中使用隐藏代码在页面加载时显示弹出 div?

asp.net - 为什么我在 asp.net 中收到数据库连接错误?

c# - 使用保存到内存流的图像导出文件

c# - 如何使添加到现有标记的控件自动连接到后面的代码?