6

我无法在我的 asp.net 站点上的特定字符上出现换行符。我有一个带有“权利”列/字段的用户帐户的gridview,其中数据是通过管道输入的,如下所示:

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

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

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

管理员
交易员
支持
销售

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

有没有办法在我的 CSS 类中做到这一点?我查看了不同的属性,例如空格、文本溢出和自动换行,但到目前为止,我还没有找到任何可以说“在出现字符时换行”的任何内容。我想我可以使用 jQuery 来做到这一点,但似乎应该有一个更简单的解决方案。

如果jQuery要走的路,那么一个例子将不胜感激,因为我是jQuery的新手。

谢谢你的帮助!

4

2 回答 2

4

一种可能的解决方案:

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

演示

于 2012-10-12T14:52:46.887 回答
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/>");
}
于 2012-10-12T14:54:17.333 回答