【问题标题】:Replacing <br> tag in asp multiline textbox替换asp多行文本框中的<br>标签
【发布时间】:2011-10-26 10:29:29
【问题描述】:

我正在使用数据网格中的文本框。在将数据保存到数据库之前,我使用以下脚本将换行符替换为 &lt;br&gt;

description.Replace(Environment.NewLine, "<br>")

工作正常,它用&lt;br&gt; 替换换行符。然后我需要再次将数据提取到文本框中进行编辑。我尝试使用以下脚本将&lt;br&gt; 替换为换行符:

data.description = ((TextBox)dgrid.Items[i].FindControl("description")).Text;
data.description = data.description.Replace("<br>", "\r\n");

但它不起作用,你们有什么解决办法吗?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您不是在设置 Text 值,而是在更改 data.description。尝试将其更改为类似

    Textbox txt = ((TextBox)dgrid.Items[i].FindControl("description"));
    txt.Text = txt.Text.Replace("<br>", Environment.NewLine);
    

    可能有更好的地方可以做到这一点,但没有看到一切,很难说。

    【讨论】:

    • 是的。我知道没有看到完整的脚本很难,但它会太不知所措。问题:我尝试了((TextBox)dgrid.Items[i].FindControl("description"));,但它返回了一个错误。不带.Text 可以吗?
    • ((TextBox)dgrid.Items[i].FindControl("description")) 应该将文本框控件本身返回给您。如果不是,则 Grid 没有找到该控件。我试图缩短它,但你可以尝试 string s = ((TextBox)dgrid.Items[i].FindControl("description")).Text; ((TextBox)dgrid.Items[i].FindControl("description")).Text = s.Replace("
      ", "\r\n");
    • 建议您使用 Environment.NewLine 而不是 "\r\n"。
    • 我终于解决了。谢谢 Doozer Blake。也适用于@rickschott!
    猜你喜欢
    • 1970-01-01
    • 2013-12-26
    • 2015-08-15
    • 2016-01-06
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多