Мне нужно проверить, есть ли параметр в запросе uri.
Поэтому мне нужно проверить, установлен ли этот параметр. Есть ли функция на .NET/С#?
Мне нужно проверить, есть ли параметр в запросе uri.
Поэтому мне нужно проверить, установлен ли этот параметр. Есть ли функция на .NET/С#?
Неустановленное значение будет пустым или пустым:
value = Request["param"];
if (String.IsNullOrEmpty(value))
{
// param is not set
}
Если имя параметра находится в строке запроса, но значение не указано, оно будет пустым. Если имя не находится в строке запроса, значение будет равно null. Например.
¶m1=¶m2=value
// Request["param1"] is String.Empty
// Request["param3"] is null
Да, вы можете использовать метод утилиты HttpUtility.ParseQueryString(), который возвращает NameValueCollection, а затем перетащите вызов Get():
bool contains = HttpUtility.ParseQueryString(uri.Query)
.Get("ParameterName") != null;
Метод Get()
Возвращает строку, содержащую разделенный запятыми список значений, связанных с указанным ключом из NameValueCollection, если он найден; в противном случае null
EDIT:
Если у вас есть экземпляр HttpRequest, просто используйте встроенный индексатор, как показано ниже:
bool contains = Request["ParamName"] != null;
В С# не реализованный объект равен NULL. Но если вы попытаетесь получить доступ к этому объекту, вы получите исключение. Вы, кошка, пытаетесь поймать его или просто добавить @перед вашей переменной. Итак, С# isset выглядит так (для массива строк)
// Isset
internal static bool isset(String[] m, int index)
{
return (@m[index] == null) ? false : true;
}
Используйте его следующим образом: if (App.isset(parts, 1)) cat = parts[1];
Или просто "в plase" решении
if (@parts[1] != null) cat = parts[1];
Я надеюсь, что этот вопрос поможет вам.
Вы можете использовать try и catch для переноса вашего запроса uri?
catch для исключения NullReferenceException или просто исключения?