您认为表单使用 AJAX(以前是 via UpdatePanel
,现在RadAjaxPanel
是 DNN 6.x 中的 via)是正确的,这就是干扰上传的原因。在大多数情况下,您只需通过调用切换到常规回发ScriptManager.RegisterPostBackControl
,但在设置情况下,您没有对LinkButton
保存设置的直接引用。
在用户选择文件后,您可能需要将自己的按钮添加到表单中以进行上传。DNN 自己UrlControl
使用类似的系统,其中“浏览”按钮旁边有一个“上传”按钮。DNN 还有一个更新的DnnFilePicker
控件,它也可能封装你想要的。你只需要添加一个@ Register
指令来使用它们。例如:
<%@ Reference tagPrefix="dnn" tagName="UrlControl" Src="~/controls/URLControl.ascx" %>
<%@ Reference tagPrefix="dnn" Assembly="DotNetNuke.Web" Namespace="DotNetNuke.Web.UI.WebControls" %>
<dnn:UrlControl runat="server" ID="FileUpload"
ShowLog="false"
ShowNewWindow="false"
ShowTrack="false"
ShowImages="false"
ShowNone="false"
ShowTabs="false"
ShowUrls="false"
ShowUsers="false"
ShowFiles="false"
ShowUpLoad="true" />
<dnn:DnnFilePicker runat="server" ID="FilePicker"
FileFilter="jpg,png,gif" />