使用FindControl在另一个页面上查找控件

时间:2017-01-03 02:59:52

标签: c# asp.net

我正在一个拥有继承主页的注册和登录页面的网站上工作。在这项工作中,我希望应用程序在新用户尝试注册时检查数据库中是否已存在eMail,如果存在eMail,它将重定向到Login页面并在Login页面上的Label上显示消息。

我的支票代码正常运行。 但我的问题是我无法在登录页面找到Label控件,我需要帮助。 下面是我在注册页面中的代码:

登录aspx页面上的标签ID是eMailExist

if (dt.Rows.Count > 0)
{
    Response.Redirect("~/Login.aspx");
    Label Exist = (Label)Master.FindControl("eMailExist");
    Exist.Text = "eMail already in use, try Loging in";
}

1 个答案:

答案 0 :(得分:0)

我认为这不会锻炼,因为Response.Redirect之后的代码在加载Login页面时不会执行,但我有一个好主意,你可以使用一些查询字符串参数来更新标签登录页面,它将是这样的:

重定向将是这样的:

Response.Redirect("~/Login.aspx?MsgCode=1");

您必须在login.aspx.cs的页面加载中添加以下内容

if (!IsPostBack)
{
    string messageCode = Request.QueryString["MsgCode"];
    if (!string.IsNullOrEmpty(messageCode))
    {
        switch (messageCode)
        {
            case "1" :
                lbleMailExist.Text = "eMail already in use, try Loging in";
                break;
            case "2" :
                lbleMailExist.Text = "Operation time-out, try Loging in";
                break;
                // populate conditions 
            default:
                break;
        }
    }
}