using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class list_b : System.Web.UI.Page
{
    public string name = "";
    public System.Data.SqlClient.SqlConnection SqlCon = new SqlConnection(TC.SqlCon);
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(list_b));
        }
    }
    [AjaxPro.AjaxMethod]
    public string wenjian()//未读文件
    {
        string wenjian_no="";
        System.Data.SqlClient.SqlCommand cmd = new SqlCommand("未读文件", SqlCon);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter u = cmd.Parameters.Add("@user", SqlDbType.Char);
        u.Value = "zhangjun";
        System.Data.SqlClient.SqlDataAdapter adap = new SqlDataAdapter(cmd);
        DataSet dset = new DataSet();
        adap.Fill(dset);
        wenjian_no = dset.Tables[0].Rows[0][0].ToString();
        return wenjian_no;
    }
}
-----------------------------------------------
  <script type="text/javascript">
    setInterval("server()",1000)
       function server()
       {
          //从服务器得到相关数据
 document.form1.Text1.value=list_b.wenjian().value;       }
    </script>*********************************************************
以上代码运行正确,通过存储过程获得了未读文件的记录数。但是我上面是指定了当前用户的,如果将C#代码 u.Value = "zhangjun";改成下面其余不变,那么报错
u.Value=Session["用户ID"].ToString();
错误提示:只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。但是,我在网上找遍了也没有 SessionStateMod 的资料

解决方案 »

  1.   

    web.config配置的一些用法. 
    <httpRuntime executionTimeout="120"  --取消请求操作前资源可以执行的时间(S)
    maxRequestLength="8192"                 --请求的最大字节数
    useFullyQualifiedRedirectUrl="false"/> --TRUE:绝对定向,FALSE:相对定向
    <pages buffer="true"            --代码处理模式,TRUE:代码在HTML数据显示之前显示,FALSE:代码在执行时显示
    enableSessionState="true"       --激活会话状态.
    enableViewState="true"          --激活使用Viewstate
    autoEventWireup="true" />               --是否自动激活Page事件.true是默认设置,FALSE可以定制程序集.FALSE是VS.NET IDE 的默认设置.
    <appSettings>
    <add key="DSN" value="server=LSERV;uid=user;pwd=password;database=data" />
    </appSettings>
    <customErrors defaultRedirect="error.aspx" mode="RemoteOnly" >--定制错误
    <error statusCode="404" redirect="404error.aspx"/>    --特定错误处理
    </customErrors> 
    <trace enabled="false"          --开启跟踪
    requestLimit="10"               --跟踪请求总数
    pageOutput="false"              --在没个页面上显示跟踪信息.默认为FALSE
    traceMode="SortByTime"          --排序
    localOnly="true" />             --允许开发人员看到,禁止用户看到.--------------------------------
    关键是enableSessionState="true"       --激活会话状态.这句
      

  2.   

    不对啊。写了<pages enableSessionState="true"></pages> 还是不行啊。
      

  3.   

    系统提示的错误是 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 <configuration>\<system.web>\<httpModules> 节中包括 System.Web.SessionStateMod 或自定义会话状态模块。
    不是 enableSessionState
      

  4.   

    1.检查webconfig中加这个了没<httpHandlers>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers>2.在页面中加EnableSessionState = true试试
    <%@ Page language="c#" Codebehind="WebForm7.aspx.cs" AutoEventWireup="false" Inherits="Document.WebForm7" EnableSessionState = true%>
      

  5.   

    读写Session:
    [AjaxMethod(HttpSessionStateRequirement.ReadWrite)]只读Session:
    [AjaxMethod(HttpSessionStateRequirement.Read)]