1

ページにHTMLEditorExtenderがあり(HTMLが入力されている)、AJAX AsyncFileUploadコントロールを使用してファイルをアップロードしようとすると、検証エラーが発生することがあります。

ここに画像の説明を入力してください

私はそれを絞り込んだと思います-アップロードがポストバックの後にある場合にのみこのエラーをスローします-htmlがTextBoxに入力されています。

次に例を示します。

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button ID="Button1" runat="server" Text="PostBack" />
<asp:TextBox ID="txtBannerHTML" runat="server" Height="130px" Width="100%" TextMode="MultiLine" />
<asp:HtmlEditorExtender ID="txtBannerHTML_HtmlEditorExtender" runat="server" DisplaySourceTab="True"
    Enabled="True" TargetControlID="txtBannerHTML">
</asp:HtmlEditorExtender>
<asp:AsyncFileUpload ID="AsyncFileUpload3" runat="server" />

再現するには:

  1. テキストボックスにhtmlと入力します。

  2. ポストバックボタンを押します。

  3. 画像をアップロードしてみてください。

HTMLEditorExtenderでサニタイザーを有効にしています。

誰かがこれを再現できますか?

2つのコントロールを連携させるにはどうすればよいですか?

4

1 に答える 1

1

クライアント側でAjaxFileUploadコントロールのuploadStartedイベントを処理し、HtmlEditorExtenderエクステンダーのhtmlを強制的にエンコードしてみてください。

<script type="text/javascript" >
function uploadStarted(sender, args){
    var editor = $find("<%= txtBannerHTML_HtmlEditorExtender.ClientID %>");
    editor._editableDiv_submit();
}
</script>

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button ID="Button1" runat="server" Text="PostBack" />
<asp:TextBox ID="txtBannerHTML" runat="server" Height="130px" Width="100%" TextMode="MultiLine" />
<asp:HtmlEditorExtender ID="txtBannerHTML_HtmlEditorExtender" runat="server" DisplaySourceTab="True"
    Enabled="True" TargetControlID="txtBannerHTML">
</asp:HtmlEditorExtender>
<asp:AsyncFileUpload ID="AsyncFileUpload3" runat="server" OnClientUploadStarted="uploadStarted" />
于 2013-03-09T10:03:56.467 に答える