Форматирование метки 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);
}
Другие вопросы по тегам