Скрытие панели входа на главной странице, когда пользователи вошли в систему. (ASP.net) - PullRequest
0 голосов
/ 25 января 2012

У меня на главной странице есть панель с текстовыми полями для входа пользователей. Пользователи успешно вошли в систему, но я хочу скрыть панель. Когда пользователи заходят, когда я пытаюсь скрыть панель скрыть по ложному значению, видимость не работает. Мои коды на главных страницах ниже: (Я использую аутентификацию по формам, а пользователи находятся в базе данных)

protected void Button1_Click(object sender, EventArgs e)
{
    //hide panel doesn't work
    Panel1.Visible = false;
    //
    SqlCommand cmd = new SqlCommand();
    string str = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\ava\\Desktop\\WebSite3\\App_Data\\news.mdf;Integrated Security=True;User Instance=True";
    SqlConnection conn = new SqlConnection(str);
    conn.Open();
    cmd.CommandText = "select * from users where username=@name and pass=@pass";
    cmd.Connection = conn;
    cmd.Parameters.AddWithValue("name", user.Text);
    cmd.Parameters.AddWithValue("pass", pass.Text);

    SqlDataReader dr = cmd.ExecuteReader();

    if (dr.HasRows)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;

        FormsAuthentication.SetAuthCookie(user.Text, true);
        FormsAuthentication.RedirectFromLoginPage(user.Text, true);
        Response.Redirect("/website3/karbar/karbar.aspx");


    }
    else user.Text = "Incorrect name or pass";
}

Ответы [ 4 ]

0 голосов
/ 25 января 2012

Я надеюсь, что вы пишете код на странице aspx.cs, которая в основном унаследована от этой мастер-страницы.

Так что вам нужно сделать так:

protected void Button1_Click(object sender, EventArgs e) 
{ 
   ((Panel)YourMasterPageID.FindControl("YourPanelID")).Visible = false;
}
0 голосов
/ 25 января 2012

на главной странице после завершения загрузки выполните следующие действия:

if(Request.IsAuthenticated)
{
        Panel1.Visible = false;
        Panel2.Visible = true;
}

Или используйте LoginView, этот элемент управления поддерживает шаблоны как для анонимных пользователей, так и для пользователей LoggedIn

0 голосов
/ 25 января 2012

вы можете попробовать вот так, может помочь вам

Panel1.Style.Add(HtmlTextWriterStyle.Display, "none");
0 голосов
/ 25 января 2012

Попробуйте это:

Panel1.Dispose();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...