Строка не выводит символ новой строки в таблицу просмотра - PullRequest
2 голосов
/ 04 апреля 2019

Я пытаюсь объединить несколько сообщений об ошибках в своей проверке, но иногда он обнаруживает, что сайт отсутствует и строка ошибок не пуста. Когда это происходит, он отображает обе ошибки, но не выводит их в новой строке.

Вот пример ...

enter image description here

Согласно коду это должно быть сказано

Неподдерживаемый формат даты от 1/06/19.

Сайт отсутствует

Ниже мой чек

    private void FileCheck(string[] strArray, out string INum, out string IDate, out string site, out string errors)
    {
        INum = strArray[1];
        IDate = strArray[2];
        errors = "";
        site = strArray[10];
        string[] errorformats = {$"Unsupported date format of {IDate}.", "Site is missing"};
        string[] format = {"MM/dd/yyyy", "M/dd/yyyy", "MM/d/yyyy", "M/d/yyyy"};
        DateTime dateTime;
        if (!DateTime.TryParseExact(IDate, format, CultureInfo.InvariantCulture,
            DateTimeStyles.None, out dateTime))
            errors = errorformats[0];
        if (site == "" && errors != "")
            errors = $"{errorformats[0]}{Environment.NewLine}{errorformats[1]}";
        else if (site == "" && errors == "")
            errors = errorformats[1];
    }

Я звоню, используя код ниже

                using (var sr = new StreamReader(newFullPath))
                {
                    while ((strbuild = sr.ReadLine()) != null)
                    {
                        var strArray = strbuild.Split('|');
                        string INum = string.Empty,
                            IDate = string.Empty,
                            site = string.Empty,
                            errors = string.Empty;

                        if (strArray[0] == "1")
                        {
                            FileCheck(strArray, out INum, out IDate, out site, out errors);

Вот код для моей таблицы:

@if (Model != null)
{
    <table class="table table-striped">
        <!--Table Head-->
        <thead>
            <tr>
                <th>Row</th>
                <th>Invoice #</th>
            </tr>
        </thead>

        <!--Table Body-->
        <tbody>
            @for (var i = 0; i < Model.Count(); i++)
            {
                <tr class="table-info">
                    <th scope="row">@i</th>
                    <td>@Model[i].InvoiceNumber </td>
                    <td>@Model[i].Errors </td>
                </tr>
            }
        </tbody>
    </table>
}

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Вместо конкатенации с Environment.NewLine, конкатенация с <br>.

errors = $"{errorformats[0]}<br>{errorformats[1]}";

Браузеры, как правило, не отображают символы \r и \n, оставляя пробел или разрывая их вообще.

1 голос
/ 04 апреля 2019

Однажды у меня была похожая проблема, и это сработало.Просто попробуйте.

<td>@Html.Raw(Model[i].Errors) </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...