2015-05-05 27 views
1

我有GridUpw與文件上載有添加更多行操作。 當我點擊添加更多行時,fileupload控件會丟失文件。 我需要將所有添加的行保存在一個提交按鈕上,該按鈕應該保存文件夾中的所有文件。 請幫助我。Gridview文件上傳控制丟失添加更多行的文件ASP.Net,C#

在此先感謝

+0

我認爲,同時增加你在做後回來,它失去的文件新行。你需要在會​​話或視圖狀態下保存該文件路徑 –

+0

Hi Keerthi kumar,你可以在這裏發佈一些參考代碼。 – priya

+0

嗨... priya你解決了你的問題嗎? –

回答

0

不能將HTTPPost後保持不變input type="file"狀態。 (在ASP.NET術語中,這將翻譯成PostBack後不能保持asp:FileUpload的值)。

其設計的方式來解決安全問題。 StackOverflow在這裏回答了相同問題的很多例子(搜索它)。有一個Session黑客提供了一種解決方法,但它的單個文件。鏈接這裏:https://stackoverflow.com/a/18656681/17447

理論上你仍然可以使用Dictionary<int, FileUpload>。第一個參數是GridViewRow.RowIndex,第二個參數是該行的asp:FileUpload控件。您可以先將第一個PostBack中的所有行添加到會話,然後在file.HasFile等等時更新它。但恕我直言,不要這樣做,因爲

  1. 它非常複雜。
  2. 糟糕的UX,它使用戶感到困惑。他不知道是否真的有文件。
  3. 凌亂的ViewState。

所以這些都是事情可以做,

  1. 提示,當他們點擊通過詢問他們確認添加的文件的文件丟失用戶。
  2. 放置一個文本框和按鈕,要求用戶預先輸入他們想要添加的文件數量。
  3. 使用的是使用AJAX來添加行的第三方插件(jqGrid的和datatables.net都很好。)