通过用户名&密码到隐形登录控件验证?

时间:2011-12-10 04:22:01

标签: asp.net webforms

在我的母版页中,菜单上有一个图标,它使用Jquery进行滑动,显示2个文本框(用户名,密码)供用户输入& 1提交按钮。我的想法是,提交后,我获取这两个字段的值,将其分配给我的MasterPage中的隐形登录控件,然后自动验证。 我可以获取值并分配但问题是我不知道如何触发Login Control中的Login按钮(如何强制它处理信息)? DataBind()函数不起作用

Master.master

<div id="login">
                        <p>
                            <asp:Login ID="Login2" runat="server" DestinationPageUrl="~/Index.aspx" LoginButtonStyle-CssClass="button_login"
                                TextBoxStyle-CssClass="input-name" Visible="false">
                            </asp:Login>
                            <asp:TextBox ID="inputUser" CssClass="input-name" Text="Username" runat="server"></asp:TextBox>
                            <asp:TextBox ID="inputPassword" CssClass="input-pass" Text="Password" runat="server"
                                TextMode="Password"></asp:TextBox>
                            <asp:Button ID="btn_login" CssClass="button_login" runat="server" OnClick="triggerLogin" />
                        </p>
</div>

Main.master.cs:

 protected void triggerLogin(object sender, EventArgs e)
        {
            Login2.UserNameLabelText = inputUser.Text;
            Login2.PasswordLabelText = inputPassword.Text;
            Login2.DataBind();
        }

实际上我已经有一个单独处理的登录页面,是否可以将信息传递给该页面进行处理?

2 个答案:

答案 0 :(得分:0)

您可以在会话中添加用户名和密码。

类似的东西:

  Session["user"] = inputUser.Text;
  Session["pass"] = inputPassword.Text;

通过使用它,您可以访问页面中的用户名和密码。

 var myusername =  Session["user"].ToString();
 var mypassword=  Session["pass"].ToString();

在MSDN上查看:

ASP.NET State Management Overview

How to: Pass Values Between ASP.NET Web Pages

此致

答案 1 :(得分:0)

是的,我已经找到了解决方案,无需使用Login Control。我可以手动完成。

<asp:TextBox ID="inputUser" CssClass="input-name" Text="Username" runat="server"></asp:TextBox>
                            <asp:TextBox ID="inputPassword" CssClass="input-pass" Text="Password" runat="server"
                                TextMode="Password"></asp:TextBox>
                            <asp:Button ID="btn_login" CssClass="button_login" runat="server" OnClick="triggerLogin" />

代码隐藏:

protected void triggerLogin(object sender, EventArgs e)
    {
        TextBox txtbxInputUser = (TextBox)Page.Master.FindControl("inputUser");
        TextBox txtbxInputPass = (TextBox)Page.Master.FindControl("inputPassword");

        Label samplelabel1 = (Label)Page.Master.FindControl("sampleLabel1");

        if (System.Web.Security.Membership.ValidateUser(txtbxInputUser.Text, txtbxInputPass.Text))
        {

            System.Web.Security.FormsAuthentication.SetAuthCookie(txtbxInputUser.Text, false);
        }
        else
        {
            Response.Redirect("Login.aspx?Attempt=wrong");
        }
    }