Установка идентификатора в виде целого числа с C # - PullRequest
0 голосов
/ 22 марта 2012

В настоящее время я использую следующий скрипт для установки этого значения в виде строки:

string ID = Request.QueryString["ID"].ToString();

Однако я бы хотел сохранить его как целое число.

Как мне это сделать?

Большое спасибо за любые указатели.

Ответы [ 7 ]

5 голосов
/ 22 марта 2012

Предполагая, что вы не хотите выдавать ошибку сервера на неверную строку

int id=0;
if (int.TryParse(Request.QueryString["ID"],out id)) {
  .. logic for valid id
} else {
  .. logic for invalid id
}
3 голосов
/ 22 марта 2012
int ID = int.Parse(Request.QueryString["ID"].ToString());
2 голосов
/ 22 марта 2012

Используйте любой из этих:

Если вы знаете , что у вас есть ID:

string ID = Request.QueryString["ID"];
int integerId = int.Parse(ID);

или, если строка запроса может отсутствовать или недействительна (никогда не доверяйте строкам запроса ....)

string ID = Request.QueryString["ID"];
int integerId;
if (int.TryParse(ID, out integerId))
{
   // you have a valid integer ID here.
   // process it
}
else
{
    // handle missing or invalid ID
}
1 голос
/ 22 марта 2012

Вы можете сделать что-то вроде:

int i = Convert.ToInt32(ID);

или

int i;
Int32.TryParse(ID, out i);

BTW Request.QueryString["ID"] - это уже строка, поэтому все в порядке:

string ID = Request.QueryString["ID"];
0 голосов
/ 22 марта 2012

Всегда используйте tryparse для значений строки запроса, если вы хотите преобразовать его в целое число, даже если вы никогда не устанавливали его в строку, потому что пользователь может изменить это в любое время перед отправкой запроса (отображается в URL).

int id =0; // значение по умолчанию

bool success = int.TryParse (Request.QueryString ["ID"], out id))

if (success) {// написать код для значения по умолчаниювозвращение действия;}

// написать код для других значений.

0 голосов
/ 22 марта 2012

Вы можете сделать так:

string ID = Request.QueryString["ID"].ToString();

int id=int.Parse(ID);

или

int id=Convert.ToInt16(ID);
0 голосов
/ 22 марта 2012

Попробуйте

int ID = int.Parse(Request.QueryString["ID"]);

См. Как конвертировать строку в Int?

...