C#字符串格式对齐不起作用

时间:2017-01-07 10:03:15

标签: c# asp.net-core-mvc

我正在开发一个ASP.Net核心应用程序,并希望在字符串中对齐一些文本 不知怎的,我无法让这个工作,我可能会遗漏一些非常明显的东西。

所以这是我的代码(简化):

public class AdminController : Controller
{
    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> ImportOrganizations(ICollection<IFormFile> files)
    {
        var count = 0;

        var uploads = Path.Combine(_environment.WebRootPath, "uploads");
        foreach (var file in files)
        {
            if (file.Length <= 0) continue;
            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                var csv = new CsvReader(reader);
                while (csv.Read())
                {
                    // Fields that need to be filled
                    string name;

                    try
                    {
                        name = csv.GetField<string>("Name");
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("", $"Row {csv.Row, 10}, {ex.Message}");
                        continue;
                    }

                    // Check if name has a value
                    if (string.IsNullOrWhiteSpace(name))
                    {
                        ModelState.AddModelError("", $"Row {csv.Row, 10}, Name is a required field");
                        continue;
                    }

                    if (await _context.Organizations.AnyAsync(o => o.Name == name))
                    {
                        ModelState.AddModelError("", $"Row {csv.Row, 3}, Organization {name} already exists");
                        continue;
                    }

                    // Add the new Event
                    var or = new Organization()
                    {
                        Name = name
                    };

                    _context.Organizations.Add(or);
                }

                await SaveContext();
            }
        }

        var model = new ImportViewModel("Import Organizations", nameof(ImportOrganizations), count);
        return View("Import", model);
    }
}

现在当导入文件在名称字段中没有值时,我希望在浏览器中出现类似的内容:
Row 20 , Name is a required field
但我一直这样说:
Row 20, Name is a required field

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

如果要在右侧填充值,则需要对字段宽度使用负值:

$"Row {csv.Row, -10}, {ex.Message}"

有关详细信息,请参阅Composite Formatting文章。

答案 1 :(得分:0)

感谢sgmoore的评论,我能够解决它。

这似乎是html的一个问题,它不可能连续使用多个空格。