2014-05-21 75 views
0

我在模塊的設置視圖中使用DNN FilePickerUploader控件。DNN FilePickerUploader空白初始值

圖片不是必需的元素。

訪問設置表單時,默認情況下會選擇SiteRoot文件夾中的第一個圖像。這是一個問題,如果用戶打開設置來修改別的東西。由於第一張圖像被選中,該圖像被保存。用戶必須取消選擇圖像。

我想FilePickerUploader加載時默認沒有選擇圖像。這可能嗎?

到目前爲止,我曾嘗試:

  • 的FOLDERPATH設置爲空值
  • 的FOLDERPATH設置爲一個虛構的位置
  • 設置以寫到FileID 0和-1
  • 設置文件路徑來空白值
  • 將FilePath設置爲虛構文件名

這些都不會影響控件中顯示的默認值。

回答

0

屬性最重要默認初始值是「必需」屬性

通過設置「必需」爲False,以下標記將導致控制到與所述第一圖像在初始目錄(默認站點根)來填充:

<dnn:FilePickerUploader ID="imagePicker1" runat="server" Required="False" /> 

通過設置「必需」爲True,下面的標籤將導致該控件顯示站點根目錄作爲默認的文件夾,不會有默認選擇的圖像:

<dnn:FilePickerUploader ID="imagePicker2" runat="server" Required="True" /> 

測試顯示「必需的」屬性不會影響頁面的有效性。在選擇或不選擇圖像時,Page.IsValid將評估爲True。

對我來說這個屬性似乎違反直覺。當我將「Required」設置爲True時,我預計用戶將被要求選擇一些內容。在這種情況下,默認包含圖像是可以接受的,因爲它們被迫選擇一個圖像。但是,如果「必需」設置爲False,則控件僅默認填充圖像。

1

您可以嘗試使用的URL控制,這就是搞發佈用途「縮略圖」選擇(還有一個自定義選擇這裏提到的是不再使用。

https://github.com/ChrisHammond/Engage-Publish/blob/master/Controls/ThumbnailSelector.ascx

<%@ Register TagPrefix="dnn" TagName="URL" Src="~/controls/URLControl.ascx" %> 

<dnn:URL ID="ctlMediaFile" runat="server" Width="325" ShowUrls="true" ShowTabs="False" ShowLog="False" ShowTrack="False" Required="False"/> 

這允許您在DNN中使用文件夾/文件選擇,或者允許用戶輸入一個外部圖像的URL以及他們想要的。

+0

嗨克里斯,我相信URL控件是DNN團隊已經開始用FilePickerUploader替換的舊DNN控件。 –

+0

我不必冒險走下這條路,因爲我得到了另一個控制按預期工作,但知道替代方案可能對未來有所幫助。 – RacerNerd

1

我已經在門戶網站設置模塊控制中檢查過。
嘗試使用當前portalid初始化portalid屬性並將String.Empty作爲FilePath屬性的默認值。這似乎是足夠的。

+0

雖然你沒有遇到確切的問題,但你給了我釣魚杆,讓我找到解決方案。從我的問題來看,沒有辦法知道「Required」屬性的值是什麼,因爲我沒有發佈前端標籤。感謝您說你看着什麼樣的控制......那是釣竿。我再次查看了控件,發現代碼中的屬性不同。 – RacerNerd