首页 > 解决方案 > 在数据表c#,asp.net核心中格式化文本

问题描述

在 Razor 页面中查看之前,我想在控制器中将文本格式化为 Titlecase 或小写。但它不工作。我在这里做错了什么。我看不出有什么影响。

public IActionResult Index()
{
    DataTable dataTable = new DataTable();
    using (SqlConnection sqlConnection = new SqlConnection(_configuration.GetConnectionString("abc")))
    {
        sqlConnection.Open();
        SqlDataAdapter sqlDa = new SqlDataAdapter("proc_Productlist", sqlConnection);
        sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure;
        sqlDa.Fill(dataTable);

        TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;

        foreach (DataRow row in dataTable.Rows)
        {
            textInfo.ToTitleCase(row["Name"].ToString().ToLower());
            textInfo.ToLower(row["Made"].ToString().ToLower());
        }
    }
    return View(dataTable);
}

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

解决方案


您没有将ToTitleCaseToLower方法的结果重新分配给row["Name"]。如果您阅读有关ToTitleCase的文档,它会说: Returns 指定的字符串转换为标题大小写。 你需要写:

row["Name"] = textInfo.ToTitleCase(row["Name"].ToString().ToLower());
row["Made"] = textInfo.ToLower(row["Made"].ToString().ToLower());

祝你今天过得愉快。

来源https ://docs.microsoft.com/fr-fr/dotnet/api/system.globalization.textinfo.totitlecase?view=net-5.0


推荐阅读