无法获取要在aspx页面上呈现的换行符

时间:2013-02-13 19:12:43

标签: c# asp.net html .net

我正在sharepoint aspx页面上进行一些服务器端验证。如果有任何错误,我将字符串传递给PreRender中的zone.error文本。

如何渲染换行符?

现在我有:

    protected override void OnPreRender(EventArgs e)
    {
        if (!string.IsNullOrEmpty(_errorText))
        {
            this.Zone.ErrorText += "I'm an error!" + Environment.NewLine + "Fix me damnit!";                
        }
        base.OnPreRender(e);
    }

我尝试了各种

的组合
  

< br /&gt ;, \ r \ n,\ n,使用htmlEncode和htmlDecode无济于事。

我过去曾读过有关< pre>的内容,但我不确定这是否是正确的做法。

这里的诀窍是什么?

2 个答案:

答案 0 :(得分:4)

您需要呈现一个<br/>标记而不是Environment.NewLine,它只会删除\ n或\ r \ n。这将不会在HTML页面上呈现。

protected override void OnPreRender(EventArgs e)
    {
        if (!string.IsNullOrEmpty(_errorText))
        {
            this.Zone.ErrorText += "I'm an error<br/>Fix me damnit!";                
        }
        base.OnPreRender(e);
    }

答案 1 :(得分:1)

尝试使用标记

<br>

而不是Environment.NewLine