Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 页面重定向ASP.NET C后不显示数据#_C#_Html_Asp.net_Visual Studio 2010 - Fatal编程技术网

C# 页面重定向ASP.NET C后不显示数据#

C# 页面重定向ASP.NET C后不显示数据#,c#,html,asp.net,visual-studio-2010,C#,Html,Asp.net,Visual Studio 2010,在ASP.NET中开发一个简单的登录功能时,我遇到了一个奇怪的场景。有两个页面,LoginPage.aspx和Default.aspx。用户在登录页面上提供有效凭据后,他/她将重定向到默认页面。我想在默认页面顶部显示用户登录信息,为此,我添加了以下HTML: <form id="Form1" runat="server"> <div id="demo_header" runat="server"> <asp:Label ID="loggedinUserna

在ASP.NET中开发一个简单的登录功能时,我遇到了一个奇怪的场景。有两个页面,
LoginPage.aspx
Default.aspx
。用户在登录页面上提供有效凭据后,他/她将重定向到默认页面。我想在默认页面顶部显示用户登录信息,为此,我添加了以下HTML:

<form id="Form1" runat="server">
<div id="demo_header" runat="server">

    <asp:Label ID="loggedinUsername" ForeColor="Black" runat="server"></asp:Label>
    <asp:LinkButton ID="logout" runat="server" Text="Logout!" ForeColor="Black" OnClick="Logout"></asp:LinkButton>
    ...
</div>
</form>
以下是用户按下LoginPage.aspx上的登录按钮时执行的代码:

protected void LoginButton_Click(object sender, EventArgs e)
{
    if (LoginEmail.ToString() == string.Empty || LoginPassword.ToString() == string.Empty)
    {
        Session["RedirectReaasonFlag"] = "Credentials null";
        login_error_msg.Text = "Please Provide Email/Password!";
    }
    else 
    {
        UserStandard User = new UserStandard();
        User._Email = LoginEmail.Text;
        User._password = LoginPassword.Text;
        Dictionary<int, string> LoggedinUserData = User.AuthenticateUser(User);
        if (LoggedinUserData.Count == 1)
        {
            Session["LoggedinUserID"] = LoggedinUserData.ElementAt(0).Key;
            Session["LoggedinUser"] = LoggedinUserData.ElementAt(0).Value;
            Response.Redirect("Default.aspx");
        }
        else
            Session["RedirectReaasonFlag"]= "Invalid Login Attempt";
    }
}
受保护的无效登录按钮\u单击(对象发送者,事件参数e)
{
if(LoginEmail.ToString()==string.Empty | | LoginPassword.ToString()==string.Empty)
{
会话[“RedirectReaasonFlag”]=“凭据为空”;
登录\u error\u msg.Text=“请提供电子邮件/密码!”;
}
其他的
{
UserStandard用户=新的UserStandard();
用户。_Email=LoginEmail.Text;
User.\u password=LoginPassword.Text;
字典LoggedinUserData=User.AuthenticateUser(用户);
if(LoggedinUserData.Count==1)
{
Session[“LoggedinUserID”]=LoggedinUserData.ElementAt(0.Key);
会话[“LoggedinUser”]=LoggedinUserData.ElementAt(0).Value;
重定向(“Default.aspx”);
}
其他的
会话[“RedirectReaasonFlag”]=“登录尝试无效”;
}
}
但不知何故,当用户在默认页面上重定向时,其名称和注销超链接不会显示。这是一项非常简单的任务,这种情况正在吞噬我的大脑。请帮帮我


谢谢。

看起来您的
loggedinUsername
标签和
注销
链接按钮位于您正在设置的
div
中。因此,您告诉浏览器在登录成功时隐藏这些元素。尝试设置
demo\u header.Visible=true

看起来您的
loggedinUsername
标签和
logout
链接按钮位于您正在设置的
Visible=false
分区内。因此,您告诉浏览器在登录成功时隐藏这些元素。请尝试设置
demo\u header.Visible=true

登录代码放在哪里?在default.aspx上?还是登录到loginPage.aspx?只有在刷新页面集
demo_header.Visible=true之后,才会设置会话
块登录代码在LoginPage.aspx上,则代码>在
中。我已经调试了代码,如果默认页面的语句确实执行,但数据没有显示在浏览器中…请参阅我的编辑。添加了LoginPage.aspx.cs的代码登录代码放在哪里?在default.aspx上?还是登录到loginPage.aspx?只有在刷新页面集
demo_header.Visible=true之后,才会设置会话
块登录代码在LoginPage.aspx上,则代码>在
中。我已经调试了代码,如果默认页面的语句确实执行,但数据没有显示在浏览器中…请参阅我的编辑。添加了LoginPage.aspx.csCan’我不敢相信我犯了多么愚蠢的错误!!非常感谢。这在我们每个人身上都会发生。有时候,你所需要的只是对这个问题重新审视一下。真不敢相信我犯了多么愚蠢的错误!!非常感谢。这在我们每个人身上都会发生。有时,你所需要的只是对这个问题有一个全新的认识。
protected void LoginButton_Click(object sender, EventArgs e)
{
    if (LoginEmail.ToString() == string.Empty || LoginPassword.ToString() == string.Empty)
    {
        Session["RedirectReaasonFlag"] = "Credentials null";
        login_error_msg.Text = "Please Provide Email/Password!";
    }
    else 
    {
        UserStandard User = new UserStandard();
        User._Email = LoginEmail.Text;
        User._password = LoginPassword.Text;
        Dictionary<int, string> LoggedinUserData = User.AuthenticateUser(User);
        if (LoggedinUserData.Count == 1)
        {
            Session["LoggedinUserID"] = LoggedinUserData.ElementAt(0).Key;
            Session["LoggedinUser"] = LoggedinUserData.ElementAt(0).Value;
            Response.Redirect("Default.aspx");
        }
        else
            Session["RedirectReaasonFlag"]= "Invalid Login Attempt";
    }
}