【发布时间】:2015-10-13 22:16:48
【问题描述】:
我有一个多行文本框,txtPostContest 和几个按钮,可以单击这些按钮将 HTML 标记添加到文本框(适用于自己不会了解任何 HTML 的人)。
但是,这些按钮只添加一次文本,单击一个后,其他按钮也不会添加文本。
HTML
<div>
<label>Post Content:</label>
</div>
<div>
<asp:Button ID="btnBold" runat="server" Text="Bold" Width="90px" />
<asp:Button ID="btnItal" runat="server" Text="Italics" Width="90px" />
<asp:Button ID="btnLink" runat="server" Text="Link" Width="90px" />
<asp:Button ID="btnImage" runat="server" Text="Image" Width="90px" />
</div>
<div>
<asp:TextBox id="txtPostContent" runat="server" Width="600px" Height="400px" TextMode="MultiLine" />
</div>
VB.Net
Partial Class blogmanager
Inherits System.Web.UI.Page
Dim bold As String = " <strong> </strong> "
Dim ital As String = " <em> </em> "
Dim img As String = " <img src="PASTE IMAGE FILE HERE" alt="TYPE ALTERNATE TEXT HERE" height="250" width="300"> "
Dim link As String = "<a href="PASTE HYPERLINK HERE">PASTE LINK TEXT HERE</a>"
Protected Sub btnBold_Click(sender As Object, e As System.EventArgs) Handles btnBold.Click
txtPostContent.Text += bold
End Sub
Protected Sub btnItal_Click(sender As Object, e As System.EventArgs) Handles btnItal.Click
txtPostContent.Text += ital
End Sub
Protected Sub btnLink_Click(sender As Object, e As System.EventArgs) Handles btnLink.Click
txtPostContent.Text += link
txtPostContent.Text = txtPostContent.Text.Replace(""", ControlChars.Quote)
End Sub
Protected Sub btnImage_Click(sender As Object, e As System.EventArgs) Handles btnImage.Click
txtPostContent.Text += img
txtPostContent.Text = txtPostContent.Text.Replace(""", ControlChars.Quote)
End Sub
我在简单的text += string 方法中看不到问题,但显然它不好。有没有更有效的方法将一些文本插入现有文本框?
【问题讨论】:
-
将这些内容设置为文本框不安全...您可以尝试 txtPostContent.Text +=Html.Encode(img) 吗?
-
字符串的内容似乎没有太大关系,只是一旦点击任何一个按钮,所有四个都停止工作。