Получить значение из сеанса или запроса?

В настоящее время у меня есть код, который делает

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