未显示完整页面url时按钮没有响应
本文关键字:按钮 响应 url 显示 | 更新日期: 2023-09-27 18:20:25
我有一个网站,假设地址是:website.com如果我进入网站,点击一个应该弹出消息框的按钮,它将不起作用。
如果我这样进入网站:website.com/Default.aspx
顺便说一下,这两种方式都显示相同的页面,但只有在使用default.aspx名称时,按钮才会做出响应。
我试过这样做:
if (!Request.Url.ToString().Contains("Default.aspx"))
{
Response.Redirect("Default.aspx");
}
但由于某种原因,没有起到任何作用。为什么会发生这种情况,我该如何解决?
按钮点击:
protected void btnLogin_Click(object sender, EventArgs e)
{
try
{
Session.Clear();
Session.RemoveAll();
Response.Cookies.Clear();
Login user = new Login(txtID.Text, txtPassword.Text);
if (user.IsValid)
whois = user.sc;
else
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["hakerendbConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT COUNT(id) FROM tblCEO WHERE id = '" + txtID.Text + "' AND password = '" + txtPassword.Text + "'", conn);
conn.Open();
if (cmd.ExecuteScalar().ToString() == "1")
{
conn.Close();
popupCeo.Visible = true;
return;
}
else
{
conn.Close();
ajaxPanel.Alert("ת.ז או סיסמא שגויה.");
return;
}
}
}
catch { ajaxPanel.Alert("תקלה במערכת, אנא חזרו מאוחר יותר הבעיה בטיפול."); }
try
{
HttpCookie user = new HttpCookie("UserName", Security.Encrypt(txtID.Text));
user.Expires = DateTime.Now.AddHours(1);
if (chkbox.Checked)
user.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Clear();
Response.Cookies.Add(user);
switch (whois)
{
case Security.level.Investor:
Response.Redirect("InvestorProjectViewer.aspx");
break;
case Security.level.Agent:
Response.Redirect("AgentManager.aspx");
break;
case Security.level.SeniorAgent:
Response.Redirect("SeniorManager.aspx");
break;
}
}
catch { }
}
如果它真的击中了同一页,原因将是在btnLogin
的OnClientClick
事件处理程序中执行的一些javascript。
任何使用document.URL
的javascript在您的两种情况下都会有不同的表现,因为URL在一种情况下会以"default.aspx"结尾,而在另一种情况中则不会。
我通过创建一个新的Default.html页面解决了这个烦恼,基本上它所做的就是重定向到Default.aspx,现在称为Login.aspx