2011-01-14 5 views
0

私は、ユーザーが投稿に複数の画像をアップロードできるウェブサイト(umbracoベース)を構築しています。私はこれまで持っていることは次のとおりです。ASP.NET Multiple Fileupload

<asp:TextBox MaxLength="1" Width="29px" runat="server" ID="txtImageAmount" />&nbsp; 
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Button ID="btnSubmitImageAmount" runat="server" Text="Vis upload felter" 
      onclick="btnSubmitImageAmount_Click" /> 

     <asp:Label Visible="false" ID="lblImageAmountError" ForeColor="Red" runat="server" Text="Maks 3 billeder"></asp:Label> 
     <asp:Panel ID="pnlUploadControls" Visible="false" runat="server"></asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 

だから、ユーザーがサイト上のファイルアップロードボックス(ただし最大3)の量を選択することができます。

私のC#が次のようになります。

protected void btnSubmitImageAmount_Click(object sender, EventArgs e) 
{ 
    int amountOfControls = Convert.ToInt32(txtImageAmount.Text); 
    if (amountOfControls <= 3) 
    { 
     for(int i = 0; i < amountOfControls; i++) 
     { 
      FileUpload fUl = new FileUpload(); 
      fUl.ID = i.ToString(); 
      fUl.Width = 300; 
      Label lblLinebreak = new Label(); 
      lblLinebreak.Text = "<br />"; 
      pnlUploadControls.Controls.Add(fUl); 
      pnlUploadControls.Controls.Add(lblLinebreak); 
      pnlUploadControls.Visible = true; 
     } 
    } 
    else 
    { 
     lblImageAmountError.Visible = true; 
    } 
} 

だから、基本的に私は、ユーザーが望んでいるどのように多くのに応じて、パネルに新しいのFileUploadコントロールを追加しています。 。..奇妙なことに、私は、パネル内のコントロールの量が0に等しいかどうかを確認しようとしてい

List<Media> images = new List<Media>(); 

    foreach (FileUpload fUl in pnlUploadControls.Controls) 
    { 
     Media m = UmbracoSave(fUl); 
     if (m != null) 
     { 
      images.Add(m); 
     }  
    } 

    if (images.Count > 0) 
    { 
     RelationType ad2media = RelationType.GetByAlias("ad2media"); 
     foreach (Media img in images) 
     { 
      Relation.MakeNew(adDoc.Id, img.Id, ad2media, adDoc.Text + " is related to " + img.Text); 
     } 
    } 

、それがあるようだ:

は今、私の保存]ボタンで、私は次のコードを持っていますUmbracoSaveメソッドから返されたMediaアイテムがnullであるかどうかを確認すると、そうではありません。また、リスト(画像)カウントは誰もがこの上でいくつかの光を当てることができます0 ..

であること?

を語りますか:-)

ご協力いただきありがとうございます。

すべてのベスト、

ボー

答えて

3

あなたは、UpdatePanelの中​​で、標準のFileUploadコントロールを配置することはできません。それだけでは機能しません。 AJAX互換のファイルアップロードコンポーネントを見てください。

+0

はい。 UmbracoのGecko Uploadifyを使用できるはずですか?http://our.umbraco.org/projects/website-utilities/gecko-uploadify – sebastiaan

+0

こんにちはck、あなたの答えに感謝:)私はあなたがasp.netについてちょうど置くことができると思った私はupdatepanelを削除しようとしましたが、私の保存ボタンのクリックイベントで、私のパネル(pnlUploadControls)Controlsコレクションが0であることが分かりました。( – bomortensen

+0

@sebastiaan:ありがとうございますUmbracoのバックエンド管理ではなくサイト自体で発生するようになりました。 – bomortensen

関連する問題