c# - 在数据表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);
}
解决方案
您没有将ToTitleCase或ToLower方法的结果重新分配给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