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

问题描述:

我正在做一些SharePoint上的aspx页面的服务器端验证。如果有任何错误,我将字符串传递给PreRender中的zone.error文本。无法获取换行符在aspx页面上呈现

如何让我的换行符呈现?

现在我有:

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/>,\ r \ n \ N,同时采用的HTMLEncode和htmlDecode到徒劳无功。

我已经阅读了一些关于<之前的>,但我不确定这是否是正确的方法。

这里有什么窍门?

+2

也许扔一个文本框里面,或者你是否尝试过''
在HTML – 2013-02-13 19:14:25

+0

使用换行符
元素? – 2013-02-13 19:14:49

您将需要渲染一个<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); 
    } 
+0

这似乎不起作用。它使用实体代码呈现
。看起来它首先在字符串上执行httpUtility.htmlDecode。有没有解决的办法? – Ray 2013-02-13 19:25:13

+1

@Ray如果显示html的控件无法另外配置,那么我认为你不能做任何事情。 – 2013-02-13 19:27:40

+0

@Ray我假设你只是在标签中显示或直接写入页面。如果不是System Down可能是正确的。 – Justin 2013-02-13 19:35:05

尝试使用标签

<br> 

代替Environment.NewLine