错误消息未显示

时间:2013-03-27 20:15:37

标签: c# web

我正在尝试在无法识别用户名和密码时显示错误消息。

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"];
        }
    }
}

为什么会这样? 非常感谢你们!

2 个答案:

答案 0 :(得分:2)

这是查询字符串中的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。

答案 1 :(得分:0)

一般来说,根据班级名称_Default,我相信您已将此代码放在Default.aspx页面中。将代码放在Load页面的Login.aspx中。然后也按照jrummell提供的指示。