【发布时间】:2014-03-27 15:24:18
【问题描述】:
在我添加这部分会话代码之前,如果我的用户名和密码正确,它会将我重定向到 BlogEntry.aspx。在我添加会话代码后,当我单击按钮时没有任何反应。你能帮我将我的会话代码转换为在 javascript 中工作吗?我需要在 javascript 中而不是在后面的代码中对其进行编码,因为我使用的是 html 按钮。因为我想要按钮的设计,所以我需要这样做。除非你告诉我有办法在后面的代码中做到这一点。登录 login.aspx 后。它将重定向到 logined.aspx 并在标签中显示欢迎管理员。
Login.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
</style>
<link rel="stylesheet" type="text/css" href="stylesheets/loginstyle.css" />
<script language="javascript" type="text/javascript">
// <![CDATA[
function Button1_onclick() {
if (document.getElementById('txtUserName').value == "Admin" && document.getElementById('txtPassword').value == "123") {
//After add in session it cannot redirect START HERE
Session.Add("Username", txtUserName.Value);
Session.Add("Password", txtPassword.Value);
FormsAuthentication.SetAuthCookie(txtUserName.Value, true);
window.location.assign("BlogEntry.aspx")
//After add in session it cannot redirect END HERE
}
else
{
document.getElementById("<%=lblError.ClientID%>").innerHTML = "Name can't be blank!";
}
}
// ]]>
</script>
</head>
<body>
<div id="wrapper">
<form name="login-form" class="login-form" action="" method="post">
<div class="header">
<h1>Login Form</h1>
<span>Fill out the form below to login to my super awesome imaginary control panel.</span>
</div>
<div class="content">
<input name="username" type="text" class="input username" placeholder="Username" runat="server" id="txtUserName" />
<div class="user-icon"></div>
<input name="password" type="password" class="input password" placeholder="Password" runat="server" id="txtPassword" />
<div class="pass-icon"></div>
</div>
<div class="footer">
<input type="button" name="submit" value="Login" class="button" runat="server" id="Button1" önserverclick="Button1_Click" onclick="return Button1_onclick()" />
<asp:Label ID="lblError" runat="server" Text=""></asp:Label>
</div>
</form>
</div>
<div class="gradient"></div>
</body>
</html>
Logined.aspx
protected void Page_Load(object sender, EventArgs e)
{
//Logout.Visible = false;
string memName = (String)Session["UserName"];
lblUsername.Text = String.Concat("Welcome Guest!");
if (Session["Username"] != null && Session["Username"] != String.Empty)
{
lblUsername.Text = "Welcome, " + memName + "!";
}
}
对于@Sangram
【问题讨论】:
-
哎哟!永远不要在 javascript 中比较登录信息之类的东西!
-
这是一个学校项目。没关系。那我该怎么办? @沙人
-
不,总是让服务器比较登录信息并重定向到正确的页面。
-
但是如果我使用 html 按钮,如何在后面的代码中做到这一点? @Daan Olislagers
-
var UserID = '<%= Session["userid"] %>'应该从 Session 中设置一个 js 变量。删除“Winforms”标签
标签: c# javascript session login