asp.net中的session赋值与获取session值代码

asp教程.net中的session的定义和取消有时是分散的,工作组中的每个人定义session的时候不一样,并且名称有随意性,所以做了一个session的统一管理,便于session的规范化。

//interface for session
    public interface isession {
        string tostring();
    }

2. session 类

 // managerinfo 是model中的一个类,直接继承
// 将对象放入session中时,该对象必须是可序列化的

 [serializable]
 public class loginsession : managerinfo , isession
 {
     public loginsession(): base()
     {
         sessionid = "";
     }

     public string sessionid { get; set; }

     public override int gethashcode()
     {
         return sessionid.gethashcode();
     }

     public override string tostring()
     {
         if (!string.isnullorempty(sessionid))
             return sessionid;
         else
             return "";
     }
 }

session赋值

loginsession currentmanager = new loginsession();
currentmanager.username="admin";
currentmanager.permission="all";
currentmanager.sessionid = httpcontext.current.session.sessionid;<br>httpcontext.current.session[apps教程etting.globalsessionname] = currentmanager;
httpcontext.current.session.timeout = 200;

取得session的值

public static t getglobalsessionvalue<t>(string _propertyname)
{
    return getsessionvalue<t>(common.const.appsetting.globalsessionname, _propertyname);
}

public static t getsessionvalue<t>(string _sessionname , string _propertyname)
{
    t retval = default(t);
    string propertyname = _propertyname.tolower();

    if (convert.tostring(httpcontext.current.session[_sessionname]) != "")
    {
        object sessionobject = (object)httpcontext.current.session[_sessionname];

        if (sessionobject is isession)
        {
            propertyinfo[] propertyinfos = sessionobject.gettype().getproperties();

            foreach (var pi in propertyinfos)
            {
                string refname = pi.name.tolower();
                if (propertyname == refname)
                {
                    retval = (t)pi.getvalue(sessionobject, null);
                    break;
                }
            }                  
        }
    }

    return retval;
}

在程序中可以这样取得session中某一项的值

string _tmpstr = utilities.getglobalsessionvalue<string>("username");
int _tmpint = utilities.getglobalsessionvalue<int>("pagesize");
model.manager = utilities.getglobalsessionvalue<manager>("managerdetail");

时间: 2024-10-05 14:25:04

asp.net中的session赋值与获取session值代码的相关文章

ASP.NET中Cookie跨域的问题及解决代码

ASP.NET中Cookie跨域的问题及解决代码 http://www.liyumei.net.cn/post/share18.html Cookies揭秘  http://www.cnblogs.com/zhangziqiu/archive/2009/08/06/cookies-javascript-aspnet.html 最近在项目开发中遇到一个很棘手的问题,一个用户在顶级域名登录后,跳转到自己所拥有的二级域名下管理二级网站时,cookie丢失了,一直找解决办法找了整整两天,百度谷歌一大堆,

jquery 获取input值代码

方法很简单,我们来看看如何用jquery 获取input值代码吧. 取值:val = $("#id")[0].value; 赋值: $("#id")[0].value = "new value"; 或者$("#id").val("new value"); 或者这样也可以:val = $("#id").attr("value");

js /jquery 获取cookie值代码

js /jquery 获取cookie值代码 */ function getcookie(name, dc){       var cname = name + "=";     if (dc.length > 0){           var begin = dc.indexof(cname);         if (begin != -1){               begin += cname.length;               end = dc.index

asp.net中js+jquery添加下拉框值和后台获取示例_实用技巧

复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type

ashx中使用session的方法(获取session值)_实用技巧

WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如: 复制代码 代码如下: HttpRequest _request = context.Request; HttpResponse _response = context.Response; 但是要得到 Session的值就没有那么简单了. 比如如果要在ashx得到保存在Session中的登录用户信息 Session["LoginUser"] 如果仅仅使用 context.Session["Lo

asp.net中JS,CS 调用后台变量的值多种方法

(1)//后台:Publicstringstr="123";  //最好为Public类型 直接在AspX前台页面HTML代码中要放的位置写入如下代码: <td><%=str%></td>   (2)用JS取本页面中的服务器端控件值: 服务器端控件值:  代码如下 复制代码 functiona()      {       vari;         i=document.getElementById('<%=服务器控件id.ClientID

ASP.NET中实现jQuery Validation-Engine的Ajax验证实现代码_实用技巧

见下图: 验证的例子:http://www.position-relative.net/creation/formValidator/ 官方地址: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ 这个插件支持大部分的浏览器,但由于有使用到了css3的阴影和圆角样式,所以在IE浏览器下无法看到圆角和阴影效果(IE 9 支持圆角效果). 本文主要内容是

在asp.net中直接给gridview赋固定的值

问题描述 如何在asp.net中直接给gridview控件赋固定的值,也就是说,不用数据库里的数据,而是自己手动给它赋值. 解决方案 解决方案二: 解决方案三:自己对DataTable填充,然后绑定到dataview解决方案四:示例DataTabledt=newDataTable();dt.Columns.Add("学号",typeof(string));dt.Columns.Add("姓名",typeof(string));dt.Columns.Add("

asp.net中HtmlAgility读取网页、获取数据、id例子

该篇学习它的解析功能,还可以模拟用户请求,创建html,设置代理等等,暂先不研究. 入门代码:  代码如下 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using HtmlAgilityPack; namespace ConsoleApplication1 {     class Program     { static v