2

現在、HtmlEditorExtender が必要なプロジェクトに取り組んでいます。最近、HtmlEditorExtender だけで奇妙な問題に直面しました。
テキストを入力してボタンをクリックすると、[保存] が表示されます。すべて正常に動作します。しかし、テキストをコピーして貼り付けると(短いまたは段落)。HtmlEditorExtender はその値を失い、データは保存されません。ただし、通常のテキストボックスでも同じことを試しました。しかし、私はそれらに問題はありませんでした。私のコードは次のようになります: Default.aspx:

<asp:UpdatePanel runat="server" ID="id123">
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>

<asp:TextBox ID="txtSlidePage"  TextMode="MultiLine" Columns="50" Rows="10" Width="100%" Height="200" runat="server" />

<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" TargetControlID="txtSlidePage"   runat="server" DisplaySourceTab="true">
<Toolbar>
<ajaxToolkit:Undo />
<ajaxToolkit:Redo />
</Toolbar>
</ajaxToolkit:HtmlEditorExtender>

</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click1"  />

コードビハインド:

protected void Button1_Click1(object sender, EventArgs e)
{
Response.Write("<script>alert('" + txtSlidePage.Text + "');</script>");
}

コードを短くしました。Javascript Alert で結果を確認するだけです。

助言がありますか?

4

1 に答える 1

2

CKEditor を使用することを強くお勧めします。問題なく使用しており、asp.net の使いやすいコントロールを備えています。HTML のエンコードとデコードのプロセスも簡単です。デモについては、このリンクを参照してください

以下に示すように、ツールバーを簡単にカスタマイズすることもできます。

<CKEditor:CKEditorControl ID="txtSlideTexts" BasePath="/ckeditor/" runat="server"  Toolbar="Basic"
    ToolbarBasic="|Bold|Italic|Underline|Strike|-|NumberedList|BulletedList|Outdent|Indent|-|JustifyLeft|JustifyCenter|JustifyRight|JustifyBlock|
    |Link|Unlink|-|TextColor|-|Undo|Redo|Cut|Copy|Paste|PasteText|PasteFromWord|
  |Find|Replace|SelectAll|-|Image|Table|HorizontalRule|SpecialChar|-|Format|" ></CKEditor:CKEditorControl>

そして最後にコードビハインドで:

string str = CKEditor1.Text;
string str1 = Server.HtmlEncode(str);
string str2 = Server.HtmlDecode(str);

サーバー側のコントロールなので。ページポストバック発行時に問題が発生することはありません。

于 2016-04-06T23:49:42.560 に答える