stringstream сделает (, как xtofl указал ). формат Повышения является более удобной заменой для snprintf.
Если для сайта включена проверка запросов ASP.NET, вам все равно нужно HtmlEncode
Проверка запросов ASP.NET - это хитрость, чтобы попытаться обойти сломанные программы глупых авторов. Не пишите сломанные программы.
Любая текстовая строка, которую вы пишете на HTML-странице, должна быть закодирована в HTML; это вопрос правильности, а не только безопасности (которая является подмножеством правильности). Даже если проверка запроса может волшебным образом удалить любую возможную атаку XSS (а это , так что ничего подобного), отказ от вывода текста HtmlEncode все равно оставит вас открытыми для создания искаженного вывода, искажающего ваши данные. Скажем, я делал сообщение на форуме о некоторых переменных a
, b
и c
и хотел сказать:
a<b b>c b>a
Если это было отражено в исходном HTML без кодирования я бы получил:
a c b> a
и, возможно, остальная часть страницы тоже будет полужирной. Упс!
Проверка запроса является подделкой, и на нее нельзя полагаться. То, что она включена по умолчанию и «рекомендуется для всех производственных сред», печально и заставляет меня серьезно сомневаться в здравом уме команды ASP.NET.
Если вы правильно написали свою программу, она вам не нужна, и она просто получит на вашем пути. (Например, если бы SO использовал его, я бы не смог написать этот пост, в котором упоминается тег