错误信息不显示
本文关键字:显示 信息 错误 | 更新日期: 2023-09-27 18:06:15
我正在尝试在用户名和密码未被识别时显示错误消息。
if (rdr.Read())
{
int id = int.Parse(rdr.GetValue(0).ToString());
string fname = rdr.GetString(1);
Session["ID"] = id;
Session["FName"] = fname;
con.Close();
Response.Redirect("Home.aspx");
}
else
{
Response.Redirect("Login.aspx?err='blabla'"); //Display message
}
下面的代码(Page_Load)应该在else语句中调用,但它不是:
public partial class _Default : System.Web.UI.Page
{
protected string err = "";
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form.Count > 0)
{
err = Request.Form["err"];
}
}
}
为什么会这样?非常感谢大家!
这是查询字符串中的GET值,而不是表单中的POST值。您可以使用包含POST和GET值的Request.QueryString[]
或Request[]
。
if (Request.QueryString.Count > 0)
{
err = Request.QueryString["err"];
}
或
if (Request.Count > 0)
{
err = Request["err"];
}
此外,查询字符串值属于登录页面,因此您将无法从_Default
访问它。将Page_Load
逻辑移动到Login.aspx.cs.
一般来说,根据类名_Default
,我相信您已经将此代码放置在Default.aspx
页面中。将Login.aspx
页面的代码放在Load
中。然后也按照jrumell提供的方向。