3

你好。我有一个登录网页和一个欢迎网页。我将用户名和密码保存在数据库中。登录后我重定向到欢迎页面。假设我以 Dave 身份登录。我希望欢迎页面显示 Welcome Dave。我该怎么做呢?

我尝试了很多事情都没有成功——我在欢迎页面上创建了一个标签,并尝试从登录页面调用它,但这是不允许的。有没有办法可以连接来自不同网页的标签?工具箱中是否有可以将页面链接在一起的工具?

或者我应该专注于对数据库做些什么?

有任何想法吗?

4

5 回答 5

7

您需要为此创建Session

Session["Name"]=txtLoginName.Text;

通过这种方式,您可以为会话创建和分配价值。

Welcome <%=Session["Name"]%>

通过这种方式,您可以打印其值。

ASP.NET 会话在此处进行了解释。

于 2013-06-06T10:44:48.757 回答
2

您可以使用以下命令访问当前用户名:

 HttpContext.Current.User.Identity.Name

因此,您可以将标签文本设置为此。例如:

 lblUsername.Text = HttpContext.Current.User.Identity.Name

或者您可以将其存储在 Session 变量中,如下所示:

 Session["Username"] =  HttpContext.Current.User.Identity.Name
于 2013-06-06T10:44:15.797 回答
1

您可以在会话中获取用户名文本框的值,例如:

Session["Username"] = IdOfYourTextBox.Text;

并在欢迎页面获取此会话。

于 2013-06-06T10:47:02.640 回答
1

在您的页面中,添加如下内容:

 <table>
                <tr>
                    <td>
                        <asp:Label ID="lblWellcome" CssClass="lblSimple" runat="server" Text="Welcame">      </asp:Label>
                    </td>
                    <td>
                        <asp:Label ID="lblUserData" CssClass="lblSimple"  runat="server" Text=""></asp:Label>
                    </td>
</table>

当用户登录时,将全名存储在 Session 变量中,并通过 Session 变量设置标签值

于 2013-06-06T10:44:45.487 回答
1

登录后重定向到您的欢迎页面。在该页面上说出您的标签(如果名为 lblUserName),然后执行以下操作:

lblUserName.Text = HttpContext.Current.User.Identity.Name;

或者,您可以按如下方式使用 Session:

如果用户已通过身份验证,则在登录页面上设置

Session["UserName"] = YourUserNameTextBox.Text;

然后在欢迎页面上执行此操作

lblUserName.Text = Session["UserName"].toString();
于 2013-06-06T10:49:29.623 回答