3

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

そして、txtboxに入力されたテキストを次のように取得できます。

         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コントロールからファイルを取得するにはどうすればよいですか?CantはFileUploadで上記を実行しているようです。

4

2 に答える 2

3

以下のクリックイベントでは、FileUploadControlではなくTextBoxを取得しています

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);
}
于 2012-09-20T13:57:51.600 に答える
0

これで動作するようになりました、私はそれを試したと思いました。どうやら十分ではありません:)

 var countUploads = ChildrenCountTextPanel.Controls.OfType<FileUpload>();

        FileUpload FileUl = new FileUpload();
        foreach (var ul in countUploads)
        {
            if(ul.ID.Contains("imgUpload_"))
            {
                FileUl = ul;               
            }
        }
if (FileUl.HasFile)
{
 ConvertAndSave(FileUl)
 }
于 2012-09-20T17:00:08.663 に答える