我在模块的设置视图中使用DNN FilePickerUploader控件。
图像不是必需元素。
访问设置表单时,默认情况下会选择SiteRoot文件夹中的第一个图像。如果用户打开设置以修改其他内容,则会出现此问题。由于选择了第一张图像,因此保存了该图像。用户必须取消选择图像。
我希望加载FilePickerUploader,默认情况下不选择任何图像。这可能吗?
到目前为止,我已经尝试过:
这些都不会影响控件中的默认值。
答案 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,则控件仅默认填充图像。