【问题标题】:Get value from session or request?从会话或请求中获取价值?
【发布时间】:2009-07-02 18:16:59
【问题描述】:
目前我有代码
var req = HttpContext.Current.Request;
if(!isNull(req["title"], req["desc"], req["tags"])) { doSomthing();}
在某些情况下,我将标题移动到会话数据中,然后重定向页面或执行我需要的任何操作。现在这不起作用。有什么东西可以用来从请求或会话中提取数据吗?
【问题讨论】:
标签:
c#
asp.net
session
cookies
postdata
【解决方案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];
}