当从Jsonresult填充时,领先的空间出现在textarea中

时间:2011-02-15 21:10:30

标签: jquery json asp.net-mvc

在ASP MVC3应用程序中,我有以下控制器操作:

public JsonResult GetJsonStatus(string id)
{
    var statuses = repo.GetEventLogMessages(new Guid(id));

    StringBuilder sb = new StringBuilder();

    foreach (string status in statuses)
    {
        sb.AppendLine(status);
    }

    StatusMessage sm = new StatusMessage { Status = sb.ToString(), Processing = importing };

    return Json(sm,JsonRequestBehavior.AllowGet);
}

在返回的Json中,Status可以是多行文本,可以放入Textarea。以下是使用JQuery的视图的相关部分:

    @model RAM.Models.StatusMessage
    <table cellpadding="2" cellspacing="0" border="1">
        <tr>
            <td>
                <textarea id="status" cols="30" rows="7" wrap="off" class="statusText" >@Model.Status</textarea>
            </td>
        </tr>
    </table>
<script  type="text/javascript">
    function getStatus(processID) {
        var url = '@(Url.Action("GetJsonImportStatus"))' + '/' + processID;
        $.getJSON(url, null, function (data) {
            $('#status').text(data.Status);
        });
    }
</script>

问题是,文本区域中的文本在每行上都有一个前导空格,除了第一行,所以它看起来像这样:

  

这是第1行   这是第2行   这是第3行

Json中Status的值如下所示: “这是line1 \ r \ n这是第2行\ r \ n这是第3行\ r \ n”

如何删除或阻止前导空格?

1 个答案:

答案 0 :(得分:1)

我刚使用/ r,它在IE / FF中看起来很好