在javascript中创建stringbuilder类型功能以显示聊天消息

时间:2013-12-06 05:51:44

标签: javascript asp.net ajax html asp.net-ajax

dt_msg是一个数据表,我有一些聊天消息,发送和发送。 我使用stringbuilder将这些消息带到屏幕上,如下所示

stringBuilder1.Append("<div style='background-color:ALICEBLUE;float:left; width:100%; word-wrap: break-word;font-size:14px;'><pre><font color='Red'><b><div style='background-color:ALICEBLUE;word-wrap: break-word; margin-right:410px;'>" + dt_msg.Rows[i][2].ToString() + " Says: </b></font></pre></div><div style='background-color:ALICEBLUE;font-size:14px;float: left;width: 410px;margin-left: -410px; word-wrap: break-word;font-size:14px;'><pre><font>" + dt_msg.Rows[i][0].ToString() + "</font></pre></div><div style='background-color:ALICEBLUE; word-wrap: break-word;'><p style='color:#8B8A8A; margin-top:0'>Sent at " + Convert.ToDateTime(dt_msg.Rows[i][1]).ToLongTimeString() + "</p></div><div style='clear:both;'></div>")

现在我正在将Ajax与webserices一起使用,现在消息从webmethod以字符串形式返回

User1 says :~Hello to this world and enjoy this week~sent at 05:40:30 AM@#User2 says :~Hello to my world~sent at 05:41:35 AM;

并在ajax代码

中收到
<script type="text/javascript">
    function OnSuccess(data) {
       if (data.d)
       {
          div1.innerText = data.d;
       }
           }
  </script>

现在div1显示

User1 says :~Hello to this world and enjoy this week~sent at 05:40:30 AM@#User2 says :~Hello to my world~sent at 05:41:35 AM;

但是我想显示我在上一页中使用stringBuilder显示的消息。如何使用stringBuilder显示字符串。这里的字符串@#是行分隔符

2 个答案:

答案 0 :(得分:1)

如果为此创建正确的结构,则不需要StringBuilder构造,使用无序列表(ul - >所有消息)并不断向其添加列表项({{1} } - &gt;每条消息)

li

请注意,上述内容未经测试

答案 1 :(得分:0)

替换

div1.innerText = data.d;

div1.innerText = div1.innerText + data.d;