日期:2014-05-18  浏览次数:20661 次

小妹问一个菜鸟问题:关于数据库登录,PostBackUrl
问题是这样的:
做一个数据库查询,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 "
------解决方案--------------------