我正在进行登录页面验证,需要验证,然后在提交按钮点击后进行身份验证。但我正在验证我在我的js文件中但没有调用验证函数,该函数存在于后面的代码按钮单击中。当我在按钮btn_Click
上调用onserverclick
功能时,它无效。
建议我一些事情;我该如何解决这个问题?
答案 0 :(得分:1)
您使用asp.net登录控件的OnLoggingIn
:
<asp:Login ID="Login1" runat="server" OnLoggingIn="OnLogginIn" > ...
如果您需要取消对e.Cancel
设置为true
protected void OnLogginIn(object sender, LoginCancelEventArgs e)
{
if(NotAuthendicateMyRules)
{
e.Cancel = true;
}
}
答案 1 :(得分:0)
<i><asp:Button ID="btnSubmit" runat="server" OnClientClick="return ValidateForm()" OnClick="btnSubmit_Click"></asp:Button>
实际上我使用的是html按钮所以它没有用,但现在我使用asp按钮使用它正在工作。 这里ValidateForm()是一个JavaScript函数,它应该验证所有必需的字段,如果验证则返回true,否则为false。
折叠|复制代码 函数ValidateForm() { 如果(allFieldsValidated) { 返回true; } 其他 { 返回false; } } 如果返回true,则触发按钮单击服务器事件btnSubmit_Click。否则它不会被解雇。
答案 2 :(得分:0)
<asp:Login ID="Login1" runat="server" DestinationPageUrl="~/Default.aspx"
OnAuthenticate="Login1_Authenticate" OnLoggedIn="Login1_LoggedIn">
代码背后:
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
string query=String.Format("SELECT * from Users where UserName='{0}' and Password='{1}'",Login1.UserName.ToLower() ,Login1.Password);
DataSet ds= new DataSet();
ds= your database access query;
if(ds.Tables(0).Rows.Count>0)
{
e.Authenticated = true;
}
else
{
e.Authenticated = false;
}
}
protected void Login1_LoggedIn(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}