问题是这样的:
做一个数据库查询,page1是登录页面,page2是查询页面,环境:asp.net + C#,
page1,里面有两个label分别用于输入用户名和密码,有一个button,当用户单击时,如果能连上数据库则直接进入查询页面page2(并把用户名和密码跨页传送到page2),如果不能成功则给出错误信息并且不进入查询页面
page1.aspx:
<asp:Button ID= "Button1 " runat= "server " Text= "登录 " Width= "86px " OnClick= "Button1_Click " PostBackUrl = "Page2.aspx " />
(这里为了把用户名和密码跨页传送到page2,用了PostBackUrl)
page1.aspx.cs:
protected void Button1_Click(object sender, EventArgs e)
{
try
{ 数据库连接 }
catch (OracleException ex)
{ Console.WriteLine( "Exception occurred! ");
}
}
现在的问题是:在page1中按"登录"按钮后,如果数据库连接不成功,还是进入了page2页面,我把catch处理改成这样:
catch (OracleException ex)
{
Console.WriteLine( "Exception occurred! ");
Response.Redirect( "Page1.aspx "); (加了这一句)
}
现在不会进入page2页面了,但是输入的用户名被清空了.
我希望:如果数据库连接不成功,则不会进入page2,并且page1里已输入的用户名不会被清空,如何做呢?请各位大虾指点一二!谢谢
------解决方案--------------------------------------------------------
catch (OracleException ex)
{
Console.WriteLine( "Exception occurred! ");
//Response.Redirect( "Page1.aspx "); (加了这一句)
return;
}
------解决方案--------------------------------------------------------
小妹妹,哥哥暂时想不到什么好的解决方法。
你的Response.Redirect( "Page1.aspx ");是重新转到这个页面,等于刷新。用户名当然会被清空。
你可以用button_clientcilck ,ajax来连接数据库,成功返回true,失败返回false.来做
还有个笨方法就是 异常了就 后退回去。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
page1.aspx:
<asp:Button ID= "Button1 " runat= "server " Text= "登录 " Width= "86px " OnClick= "Button1_Click " /> 去掉PostBackUrl = "Page2.aspx ",则按钮事件里写
protected void Button1_Click(object sender, EventArgs e)
{
try
{ 数据库连接 }
catch (OracleException ex)
{ Console.WriteLine( "Exception occurred! ");
return;
}
Response.Rediert( "Page2.aspx?uid=xx&pwd=xx ");
}
------解决方案--------------------------------------------------------
session保存下不可以 ?
------解决方案--------------------------------------------------------
同意session保存
------解决方案--------------------------------------------------------
关注下~
------解决方案--------------------------------------------------------
汗!!!!!!!!!
------解决方案--------------------------------------------------------
关注下~
------解决方案--------------------------------------------------------
可以用一个js来实现,然而失败的话就让JS显示下就OK了啊
------解决方案--------------------------------------------------------
<asp:Button ID= "Button1 " runat= "server " Text= "登录 " Width= "86px " OnClick= "Button1_Click " PostBackUrl = "Page2.aspx " />
Button1_Clic是不会执行的,要去掉PostBackUrl = "Page2.aspx "
------解决方案--------------------------------------------------------