Получить значение из сеанса или запроса?
В настоящее время у меня есть код, который делает
var req = HttpContext.Current.Request;
if(!isNull(req["title"], req["desc"], req["tags"])) { doSomthing();}
в некоторых случаях я перемещаю заголовок в данные сессии, затем перенаправляю страницу или делаю все, что мне нужно. Теперь это не работает. Есть ли что-то, что я могу использовать, чтобы получить данные из запроса или сеанса?
1 ответ
Как насчет:
var ctx = HttpContext.Current;
object val = ctx.Request[key] ?? ctx.Session[key];
??
является оператором с нулевым слиянием и принимает первый ненулевой результат (короткое замыкание, если оно есть) или нулевой, если нет ненулевых результатов.
В C# 3.0 вы также можете добавить метод расширения:
static object GetFromAny(this HttpContext ctx, string key) {
return ctx.Request[key] ?? ctx.Session[key];
}