【问题标题】:How to add in session in the javascript code?如何在 javascript 代码中添加会话?
【发布时间】: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 = '&lt;%= Session["userid"] %&gt;' 应该从 Session 中设置一个 js 变量。删除“Winforms”标签

标签: c# javascript session login


【解决方案1】:

您可以使用 html 会话存储或 localStorage 来存储您的键值。这不需要任何服务器端代码。即使用户关闭浏览器,该信息也会在那里。

浏览器兼容性:http://www.html5rocks.com/en/features/storage

例如:http://coding.smashingmagazine.com/2010/10/11/local-storage-and-how-to-use-it/

【讨论】:

  • 好的,两个网站都看到了。仍然不知道如何输入我的代码。 @AkshyaDash
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
相关资源
最近更新 更多