DNN FilePickerUploader空白初始值

时间:2014-05-21 21:51:59

标签: module dotnetnuke

我在模块的设置视图中使用DNN FilePickerUploader控件。

图像不是必需元素。

访问设置表单时,默认情况下会选择SiteRoot文件夹中的第一个图像。如果用户打开设置以修改其他内容,则会出现此问题。由于选择了第一张图像,因此保存了该图像。用户必须取消选择图像。

我希望加载FilePickerUploader,默认情况下不选择任何图像。这可能吗?

到目前为止,我已经尝试过:

  • 将FolderPath设置为空值
  • 将FolderPath设置为虚构位置
  • 将FileID设置为0和-1
  • 将FilePath设置为空值
  • 将FilePath设置为虚构文件名

这些都不会影响控件中的默认值。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用网址控件,这是Engage Publish用于"缩略图"选择(这里还提到了一个不再使用的自定义选择器。

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(如果需要)。

答案 1 :(得分:1)

我已经检查了门户网站设置模块控件 首先尝试使用当前的portalid初始化portalid属性,并将String.Empty作为FilePath属性的默认值。这似乎就足够了。

答案 2 :(得分: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,则控件仅默认填充图像。