admin管理员组文章数量:1386713
In my application's login control, I am showing a dialog window if the login failed. In this way:
protected void EMSLogin_Authenticate(object sender, AuthenticateEventArgs e) {
log.Info("=============INSIDE EMSLogin_Authenticate======");
RadTextBox UserName = EMSLogin.FindControl("UserName") as RadTextBox;
RadTextBox Password = EMSLogin.FindControl("Password") as RadTextBox;
if (Membership.ValidateUser(UserName.Text, Password.Text)) {
FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
} else {
ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "showDialog();", true);
}
}
The JavaScript is:
function showDialog() {
$(document).ready(function () {
$(".jym").dialog("open");
});
}
Now if the login failed the dialog is showing. But The problem is if I refresh the browser window, after one login failed, the dialog again opened, since the $(".jym").dialog("open")
is written in the page. Then I have tried
protected void Page_Unload(object sender, EventArgs e) {
log.Info("=============INSIDE Page_Unload======");
ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "", true);
}
But no luck.
Is there any way to solve this problem?
If I use ClientScript.RegisterClientScriptBlock()
this not working, I mean the dialog is not opening on error.
In my application's login control, I am showing a dialog window if the login failed. In this way:
protected void EMSLogin_Authenticate(object sender, AuthenticateEventArgs e) {
log.Info("=============INSIDE EMSLogin_Authenticate======");
RadTextBox UserName = EMSLogin.FindControl("UserName") as RadTextBox;
RadTextBox Password = EMSLogin.FindControl("Password") as RadTextBox;
if (Membership.ValidateUser(UserName.Text, Password.Text)) {
FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
} else {
ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "showDialog();", true);
}
}
The JavaScript is:
function showDialog() {
$(document).ready(function () {
$(".jym").dialog("open");
});
}
Now if the login failed the dialog is showing. But The problem is if I refresh the browser window, after one login failed, the dialog again opened, since the $(".jym").dialog("open")
is written in the page. Then I have tried
protected void Page_Unload(object sender, EventArgs e) {
log.Info("=============INSIDE Page_Unload======");
ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "", true);
}
But no luck.
Is there any way to solve this problem?
If I use ClientScript.RegisterClientScriptBlock()
this not working, I mean the dialog is not opening on error.
1 Answer
Reset to default 3Try calling the function:
ClientScript.RegisterStartupScript(typeof(ScriptManager), "CallShowDialog", "", true);
...in the Page_Load event handler.
Page_Load occurs before the button click event handler. You can verify this by adding the following code and looking in the debug/output window:
protected void Page_Load(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Page_Load");
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Button1_Click");
}
So erasing the script in the Page_Load event handler should clear any previous script that was loaded.
本文标签: cRemoving scripts added by ClientScriptRegisterStartupScriptStack Overflow
版权声明:本文标题:c# - Removing scripts added by ClientScript.RegisterStartupScript - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744566724a2613093.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论