首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC + jQuery -当我通过jQuery $.post表单时,如何保留.NET行尾?

问ASP.NET MVC + jQuery -当我通过jQuery $.post表单时,如何保留.NET行尾?
EN

Stack Overflow用户
提问于 2011-03-23 14:24:21
回答 2查看 433关注 0票数 2

下面是我的jQuery代码正在做的事情:

代码语言:javascript
复制
 $('.newCommentBox form').live('submit', function () {

    //Submit the form post
    $.post($(this).attr('action'), $(this).serialize(), function (data) { showNewComment(data) });

    return false;
});

每当提交表单时,我都会获取结果,序列化它们,并通过POST将它们发送到特定的操作。当我们从服务器得到响应时,我调用showNewComment函数来实时显示添加的评论。

这是我的问题:我需要能够保留人们在评论中留下的空格,这样他们就可以控制较长评论的可读性。在呈现注释时,我使用JSON助手方法将.NET换行符转换为<br/>标记,但是当表单通过jQuery提交并通过JSON序列化时,所有这些行结束符都不会被保留,而当我在不使用AJAX的情况下执行此操作时,它工作得很好。

如何保留这些行尾,或者jQuery用什么替换了CRLF行尾?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-23 14:41:58

使用ajax时,根据浏览器和环境的不同,换行符会显示为\r\n和\n,但总的来说,我发现检查\n并将其替换为<br />是最安全的选择。

例如在C#中:

代码语言:javascript
复制
"Hello\nWorld".Replace("\n", "<br />");
or
"Hello\r\nWorld".Replace("\n", "<br />");
票数 1
EN

Stack Overflow用户

发布于 2011-05-31 19:04:35

另一种方法是使用CSS空白属性设置输出样式。

代码语言:javascript
复制
<div style="white-space: pre;">
    Hello
World
</div>

应呈现为

代码语言:javascript
复制
    Hello
World

保留制表符和行距

有关更多信息,请参阅http://www.w3.org/TR/CSS2/text.html#white-space-prop

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5401564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档