私は、Webサイトのユーザーが複数の画像を一度にアップロードできるASP.NET UserControlを構築しています。私は、ユーザーがFileUploadコントロールの量を入力してからC#からasp:Panelコントロールに動的に追加することで、古い方法でやっています。ASP.NETは動的に追加されたFileUploadコントロールからファイルを保存します
これは機能しますが、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);
}
}
}
}
誰もがこの問題を解決する方法のいずれかのヒントを得ましたか。 :)
ありがとうございます!
Hey Oded、あなたの助けとリンクありがとう!私は実際にあなたの最初のリンクを読んで、必要な量のコントロールを保存するためにセッションを使って作業するようにしました。しかし、金額が5より大きければクラッシュします。(私はそれをもう少し調べなければなりませんね! – bomortensen