Html.ActionLink不显示新行

时间:2013-12-18 15:06:20

标签: c# html razor

我有这个问题

string text = Html.Raw(immobileTmp.Localita + "\n" + immobileTmp.PrezzoVendita).ToString();
@Html.ActionLink(text, "DettaglioImmobile", "Immobili", new { id = immobileTmp.Id }, null)

但是在2个字符串之间只有<br />输出中没有新行。

然后我试了

string text = Html.Raw(HttpUtility.HtmlEncode(immobileTmp.Localita + "\n" + immobileTmp.PrezzoVendita).Replace("\n", "<br/>")).ToHtmlString();
@Html.ActionLink(text, "DettaglioImmobile", "Immobili", new { id = immobileTmp.Id }, null)

但没有更好的运气。 有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我猜你需要插入两个</ br>,你试过吗?

<强>更新

尝试Environment.NewLine,就像那样:

string text = Html.Raw(immobileTmp.Localita + Environment.NewLine + immobileTmp.PrezzoVendita).ToString();
@Html.ActionLink(text, "DettaglioImmobile", "Immobili", new { id = immobileTmp.Id }, null)

答案 1 :(得分:0)

试试这个:

String s1 = (immobileTmp.Localita).ToString() + " ";
String s2 = (immobileTmp.PrezzoVendita).ToString();
String s = s1 + s2

StringBuilder sb = new StringBuilder(s);

int i = 0;
while ((i = sb.indexOf(" ", i + s1.Length)) != -1) {
    sb.replace(i, i + 1, "\n");
}

string text = Html.Raw(s);

答案 2 :(得分:0)

如果你加入Environment.NewLine包裹<pre>标签的字符串,可以根据需要拆分行,如下例所示:

@{
    string sep = Environment.NewLine;
    string text = Html.Raw(immobileTmp.Localita + sep + immobileTmp.PrezzoVendita).ToString();
}

<pre>
    @Html.ActionLink(text, "DettaglioImmobile", "Immobili", new { id = immobileTmp.Id }, null)
</pre>

问题:文本将被格式化为等宽文本(因为<pre>),但CSS可以处理(<pre class="blah">...)。