#c# #asp.net-mvc #asp.net-core
Вопрос:
Я хотел бы отформатировать свой текст в верхнем или нижнем регистре в контроллере перед просмотром на странице Razor. но это не работает. что я здесь делаю не так. Я не вижу никакого эффекта в поле зрения.
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);
}
Ответ №1:
Вы не переназначили результат метода ToTitleCase или ToLower в строку[«Имя»]. Если вы прочитали документацию о ToTitleCase, в ней говорится: Возвращает указанную строку, преобразованную в регистр заголовка. Вам нужно написать:
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
Комментарии:
1. Имеет смысл, спасибо за решение, я совсем забыл его переназначить. хорошего дня