为每个指定字符添加换行符的最佳方法是什么? (asp.net)

时间:2012-10-12 14:46:54

标签: jquery asp.net css gridview line-breaks

我在asp.net网站上的某个特定字符上遇到换行问题。我有一个带有“权利”的用户帐户的gridview。列/字段,其中使用管道输入数据,例如:

'管理|交易|支持|销售'

我知道这不是最好的数据架构,但在我们在数据库中添加权利表之前,它必须暂时保持这种状态。

现在,我想在实际的gridview中显示的是:

管理
交易
支持
销售

换句话说,我想用换行符替换每个管道,或者至少在每个管道上添加换行符,以便每个权利都在一个单独的行上。

有没有办法在我的CSS课程中这样做?我查看了不同的属性,例如白色空格,文本溢出和自动换行,但到目前为止,我还没有找到任何可以说"在发生的任何情况下包装文本 character"。我想我可以使用jQuery来做到这一点,但似乎应该有一个更简单的解决方案。

如果jQuery 的方式,那么我将不胜感激,因为我是jQuery的新手。

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

一种可能的解决方案:

var orig = $('#menu').html();
$('#menu').html(orig.replace(/\|/g,'<br />'));​

DEMO

答案 1 :(得分:1)

你可以采用多种方式。

在数据库中:

SELECT REPLACE(entitlements, '|', '<br/>')

在jQuery中:

$('.entitlements').each(function(){
    var $obj = $(this);
    var txt = $obj.text();
    $obj.html(txt.replace(/|/g, '<br/>'))
});

在asp.net中:

<%# FormatEntitlements(Eval("Entitlements"))%>

public static string FormatEntitlements(string entitlements)
{
    return (entitlements ?? "").Replace("|", "<br/>");
}