1.>====登录login.aspx.cs
private void IB_Login_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//调用业务逻辑层,检查用户名和密码组合
if((new UserSystem()).GetUserByUserName(Txt_UserName.Text,Txt_Pwd.Text))
{
DataSet ds;
//将用户身份写入Session
Session["username"]=Txt_UserName.Text;
//根据用户名取得UID,RoleID,DepID
      ds=(new UserSystem()).GetUserInfo(Txt_UserName.Text);
Session["UID"]=ds.Tables[0].Rows[0][0].ToString();
Session["RoleID"]=ds.Tables[0].Rows[0][4].ToString();
Session["DepID"]=ds.Tables[0].Rows[0][3].ToString();
Response.Redirect("index.aspx");

                         }
else
{
Response.Write("<script>alert(\'请联系管理员,取得合法登陆信息! \')</script>"); }
                 }2.>======登陆后主页index.aspx
index.aspx.cs
public class index : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
 if((Session["username"].ToString()=="")||(Session["username"]==null))
{
                              Response.Redirect("login.aspx");
}
                  }
}
3.>==index.aspx调用了用户控件hrbbstopht.ascx
<%@ Register TagPrefix="uc1" TagName="hrbbstopht" Src="UControls/hrbbstopht.ascx" %>
4.>==用户控件hrbbstopht.ascx.cs(用于读出论坛最新贴)
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
RepeaterDataBind();
}
private void RepeaterDataBind()
{
SqlConnection cn= new SqlConnection(ConfigurationSettings.AppSettings["DSN"].ToString());
SqlDataAdapter da= new SqlDataAdapter("select top 5 htid,htbkid,left(httitle,9) as httitle from bbsposttb where htbkid=1 order by htid desc",cn);
DataSet ds= new DataSet();
try
{
da.Fill(ds);
Repeater1.DataSource=ds;
Repeater1.DataBind(); }
catch(Exception ex)
{
Response.Write(ex.ToString());
}

}
5.==>>贴子的详细情showpost.aspx
<TR>
<TD class="txt4Bold" height="25">&nbsp;&nbsp;<a href="../index.aspx">平台首页</a>---&gt;<a href="tlqu.aspx">讨论区</a>&gt;&nbsp;---&gt;
<asp:Label id="lblbk" runat="server"></asp:Label>
</TD>
<TD class="txt4" vAlign="top" noWrap align="right"></TD>
</TR>
6.==>问题出来了"当我点击,最新贴的标题连接到showpost.aspx时,然后点showpost.aspx页面的'平台首页'的连接<a href="../index.aspx">时,Session["username"]消失,页面跳到了login.aspx"...????

解决方案 »

  1.   

    <sessionState
      mode="InProc"
      stateConnectionString="tcpip=127.0.0.1:42424"
      sqlConnectionString="data source=127.0.0.1;user id=sa;password="
      cookieless="false"
      timeout="20" />进入系统服务里面,打开状态管理服务.修改配置文件,我也遇到过session丢失的问题,是这样解决的
      

  2.   

    是不是iis配置的问题呀.
    单步调式.看login中是否有值
      

  3.   

    我也遇到过类似的session丢失的问题,
    原因有很多,
    你可以先测试一下是不是你配置的问题,还有就是代码的问题
    我还发现一个问题,就是,如果你是在explorer.exe中打开的网页,并保存了session,那么你在iexplore.exe中是取不到那个session的.
      

  4.   

    TO: Kshatriya(无聊) 
    我在web.config 是这样设置的呀???