我有一个可编辑的标准 asp:textbox,我希望能够选择一部分文本,单击一个按钮,然后用 html 标签封装选定的文本。
例如文本框有这个文本:
敏捷的棕色狐狸跳过了懒狗。
如果我选择“The quick brown fox”并单击一个按钮,我希望文本变成<i>The quick brown fox</i>
如何检测选定的文本?使用winforms,您可以使用richtextbox,但在标准的asp.net 控件中没有这样的东西。它也必须是一个 asp:texbox 控件。
您可以将 CKEditor 用作高级 html 编辑器,而不是 textarea。http://ckeditor.com/
Telerik 有一个非常好的富文本框编辑器。http://www.telerik.com/developer-productivity-tools.aspx
我很少推荐这个,因为控件有点笨重,但是你可以使用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。