简体   繁体   English

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

[英]Unable to get newline character to render on aspx page

I'm doing some server-side validation on a sharepoint aspx page. 我正在一个sharepoint aspx页面上进行一些服务器端验证。 If there are any errors, I pass a string to the zone.error text in PreRender. 如果有任何错误,我将一个字符串传递给PreRender中的zone.error文本。

How do I get my newline characters to render? 如何获取换行符?

Right now I have: 现在我有:

    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);
    }

I have tried various combinations of 我尝试了各种组合

<br />, \\r\\n, \\n, while using htmlEncode and htmlDecode to no avail. <br />,\\ r \\ n,\\ n,而使用htmlEncode和htmlDecode无济于事。

I have read something about <pre>, in the past, but I'm not sure if this is the correct approach. 过去,我已经阅读了有关<pre>的内容,但是我不确定这是否是正确的方法。

What's the trick here? 这有什么窍门?

You will need to render a <br/> tag not an Environment.NewLine, that will simply drop a \\n or \\r\\n in. That won't render on the HTML page. 您将需要呈现一个<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);
    }

try to use tag 尝试使用标签

<br>

instead of Environment.NewLine 而不是Environment.NewLine

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM