替换文本框中的
本文关键字:br 文本 替换 | 更新日期: 2023-09-27 17:56:24
我在数据列表中有一个文本框,其中包含从数据库中获取的文本。那段文字中有很多<br>
,我想要换行符而不是<br>
,这是它的样子:
((TextBox)(EditProductList.Items[0].FindControl("txtEditDescription"))).Text.Replace("<br>", "'r'n");
<asp:DataList ID="EditProductList" runat="server">
<ItemTemplate>
<asp:TextBox ID="txtEditDescription" runat="server" TextMode="MultiLine" Height="350px"
Width="350px" Text='<%#Eval("Description") %>'></asp:TextBox>
</ItemTemplate>
</asp:DataList>
我得到了文本,但我也得到了<br>
。
实际上
,您必须再次将Replace()
返回的字符串分配给Text
属性。
var textBox = (TextBox)(EditProductList.Items[0].FindControl("txtEditDescription"));
textBox.Text = textBox.Text.Replace("<br>", "'r'n");
试试这个(但它应该被重构):
使用原始代码:
((TextBox)(EditProductList.Items[0].FindControl("txtEditDescription"))).Text =
((TextBox)(EditProductList.Items[0].FindControl("txtEditDescription"))).Text.Replace("<br>", "'r'n");
并像这样重构它:
TextBox textBox = ((TextBox)(EditProductList.Items[0].FindControl("txtEditDescription")));
textbox.Text = textBox.Text.Replace("<br>", "'r'n");
请注意,在重构中,我将查找替换为对已找到的控件的引用。
我们这样做的原因是.可以这么说,替换函数不会改变有问题的对象,它会返回对象的突变版本。