Форматирование метки asp.net, когда значение получено из строки запроса
Днем все.
Очень простой для тебя сегодня от толстого Рича.
У меня есть метка, которую я хочу отобразить в виде красивого числа, т.е. {0:N0}
Теперь этот текст метки соответствует значению строки запроса.
Как мне отформатировать текст метки из значения строки запроса одним махом?
Я пробовал это
lblTotalPurchQS.Text = String.Format("{0:N0}",Request.QueryString["totalpurchasequantity"].ToString());
но с небольшим успехом.
Любые идеи или указатели?
1 ответ
Решение
Не использовать ToString
на входящий параметр строки запроса, но преобразовать его в int
первый:
lblTotalPurchQS.Text = String.Format("{0:N0}", int.Parse(Request.QueryString["totalpurchasequantity"]));
Замечания:
Выше код не является безопасным. Во-первых, преобразование может завершиться с ошибкой преобразования. Вы также должны быть HTML, экранирующий вывод, в случае XSS.
Это лучше:
int totalPurchaseQuantity;
if(int.TryParse(Request.QueryString["totalpurchasequantity"], out totalPurchaseQuantity))
{
lblTotalPurchQS.Text = Server.HtmlEncode(String.Format("{0:N0}", totalPurchaseQuantity);
}