1

我有一个可编辑的标准 asp:textbox,我希望能够选择一部分文本,单击一个按钮,然后用 html 标签封装选定的文本。

例如文本框有这个文本:

敏捷的棕色狐狸跳过了懒狗。

如果我选择“The quick brown fox”并单击一个按钮,我希望文本变成<i>The quick brown fox</i>

如何检测选定的文本?使用winforms,您可以使用richtextbox,但在标准的asp.net 控件中没有这样的东西。它也必须是一个 asp:texbox 控件。

4

3 回答 3

1

您可以将 CKEditor 用作高级 html 编辑器,而不是 textarea。http://ckeditor.com/

于 2013-04-10T19:35:33.567 回答
0

Telerik 有一个非常好的富文本框编辑器。http://www.telerik.com/developer-productivity-tools.aspx

于 2013-04-10T19:19:26.627 回答
0

我很少推荐这个,因为控件有点笨重,但是你可以使用ASP.NET AJAX Control Toolkit 来做这个。只需按照网站上的说明安装工具包,并将 DLL 包含在您的项目中。

该工具包有一个扩展器,您可以将其应用于一个<asp:TextBox>名为HTMLEditorExtender. 有关功能,请参阅链接页面上的示例。基本上,您所要做的就是将HTMLEditorExtender标记指向现有TextBox控件。

这是该页面上示例的简化版本:

<ajaxToolkit:HtmlEditorExtender ID="HtmlEditorExtender1" 
    TargetControlID="yourTextBoxID" DisplaySourceTab="true" 
    runat="server"/>
    <Toolbar> 
        <ajaxToolkit:Bold />
        <ajaxToolkit:Italic />
        <ajaxToolkit:Underline />
        <ajaxToolkit:StrikeThrough />
        <ajaxToolkit:RemoveFormat />
        <ajaxToolkit:BackgroundColorSelector />
        <ajaxToolkit:ForeColorSelector />
        <ajaxToolkit:FontNameSelector />
        <ajaxToolkit:FontSizeSelector />
    </Toolbar>
</ajaxToolkit:HtmlEditorExtender>

请注意,您需要将“yourTextBoxID”设置TargetControlID="yourTextBoxID"为要应用扩展程序的 TextBox 控件的 ID。

于 2013-04-10T20:12:41.550 回答