我在页面(showpost.aspx)中放置了一个用户控件(logonbox.ascx),用来登录论坛用,logonbox.ascx.cs的代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
}

private void Button1_Click(object sender, System.EventArgs e)
{
//检测用户信息,判断用户是否存在
try
{ 
string user_name=TB_UserName.Text;
string password = TB_Password.Text;
Webdb.bbs.Login Loginbbs = new Webdb.bbs.Login();
Webdb.bbs.LoginDetails myLoginDetails = Loginbbs.GetLogin(user_name,password);

if(myLoginDetails!=null)
{
                   
Session["UserGrade"]=myLoginDetails.qx;

FormsAuthentication.RedirectFromLoginPage(TB_UserName.Text, CheckBox1.Checked);
问题是:为何我在showpost.aspx.cs中用customerID=User.Identity.Name得不到值呢?

解决方案 »

  1.   

    FormsAuthentication.RedirectFromLoginPage(TB_UserName.Text, CheckBox1.Checked);
    在这里测试断点,查看是否有值...
    或者if(myLoginDetails!=null)这个条件内的代码就没有执行..
      

  2.   

    web.config中的窗体验证改为windows验证,User.Identity.Name就应该有值了。
      

  3.   

    应该把web.config中的窗体验证改为Forms验证
    具体例子见
    http://blog.csdn.net/pwqzc
    http://www.cnblogs.com/pwqzc
      

  4.   

    兄弟,看看下面的。。
    http://61.186.252.131/Expert/topic/1556/1556410.xml?temp=.809704