UpdatePanel
フォームが AJAX (以前は 経由、現在は DNN 6.x では経由)を使用しているというあなたの考えは正しいです。それRadAjaxPanel
がアップロードを妨げているのです。ほとんどのシナリオでは、 を呼び出して通常のポストバックに切り替えるだけですが、設定の場合、設定を保存する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" />