2017-02-25 64 views
0

我有一个连接到aspx代码中的数据源的gridview。所选的gridview行在clcik按钮上隐藏。我想隐藏行,即使用户注销并且不应显示在隐藏行中登录。我曾尝试使用ViewState,但它不起作用。任何人都有如何完成这一点的想法。GridView中的ViewState ASP.Net

我的GridView:

edit Select Approve data 1 data 2 data 3 
当用户点击选择和确认按钮行是隐藏

。我希望所有的行都被调用,除了被点击的行以外,被点击的行根本不应该被显示。我做了一些研究,发现ViewState是最好的,但不知道如何完成它。

我的代码背后:

SqlConnection con = new SqlConnection("Data Source=User-PC\\User;Initial Catalog=Subject Registration System;Integrated Security=True"); 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["username"] != null) 
     { 
      Label1.Text = Session["username"].ToString(); 

     } 

     con.Open(); 


     SqlCommand cmd = new SqlCommand("SELECT FullName FROM [Programme Leader] WHERE Username= '" + Label1.Text + "'", con); 
     SqlDataReader reader = cmd.ExecuteReader(); 

     reader.Read(); 
     Label1.Text = reader["FullName"].ToString(); 
     reader.Close(); 

     con.Close(); 



     if (!Page.IsPostBack) 
     { 
      string gd; 
      gd = (string)ViewState["Gridview"]; 
     } 



     Panel2.Visible=true; 
     Panel3.Visible = false; 
    } 

    protected void DDL1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     Panel2.Visible = true; 

    } 



    protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e) 
    { 

     Panel2.Visible = true; 
     GridView2.DataBind(); 
    } 

    protected void GridView2_RowUpdated(object sender, GridViewUpdatedEventArgs e) 
    { 

     Panel2.Visible = true; 
     GridView2.DataBind(); 

    } 



    protected void Button1_Click(object sender, EventArgs e) 
    { 

      GridView1.SelectedRow.Visible = false; 

     ViewState["gridview"]=GridView1; 



    } 


    protected void Button2_Click(object sender, EventArgs e) 
    { 
    Response.Redirect("~/Programme Leader Front Page.aspx"); 
    } 



} 



} 

谢谢

+0

您将不得不将该用户的隐藏行永久存储在某个地方,就像在数据库中一样。 – VDWWD

回答

0

如果是隐藏绑定到特定的用户行,你可以坚持的是到数据库中。因此,新表格将包含gridview中行的主键和用户标识。在为gridview执行选择时,只需排除存储在新表中的用户的行。

视图状态是ASP.NET页面框架用于在往返之间保留页面和控件值的方法。视图状态在您的案例中不起作用,因为您希望信息在用户注销时保留下来。