从会话或请求中获取价值?

时间:2009-07-02 10:11:45

标签: c# asp.net session cookies postdata

目前我有代码

var req = HttpContext.Current.Request;
if(!isNull(req["title"], req["desc"], req["tags"])) { doSomthing();}

在某些情况下,我将标题移入会话数据,然后重定向页面或做我需要的任何事情。现在这不起作用。有什么东西我可以用来从请求或会话中提取数据吗?

1 个答案:

答案 0 :(得分:1)

怎么样:

var ctx = HttpContext.Current;
object val = ctx.Request[key] ?? ctx.Session[key];

??是null-coalescing运算符,它接受第一个非null结果(当它有一个时为短路),如果没有非null结果则为null。

使用C#3.0您还可以添加扩展方法:

static object GetFromAny(this HttpContext ctx, string key) {
    return ctx.Request[key] ?? ctx.Session[key];
}