C# GridView ASP.Net中的ViewState
我有一个gridview,它连接到aspx代码中的数据源。选定的gridview行在clcik on按钮上隐藏。我想永久隐藏该行,即使用户注销并且不应显示隐藏行中的日志。我尝试过使用ViewState,但它不起作用。任何人都不知道如何做到这一点 我的网格视图:C# GridView ASP.Net中的ViewState,c#,asp.net,gridview,viewstate,C#,Asp.net,Gridview,Viewstate,我有一个gridview,它连接到aspx代码中的数据源。选定的gridview行在clcik on按钮上隐藏。我想永久隐藏该行,即使用户注销并且不应显示隐藏行中的日志。我尝试过使用ViewState,但它不起作用。任何人都不知道如何做到这一点 我的网格视图: edit Select Approve data 1 data 2 data 3 当用户单击“选择”并单击“批准”按钮时,该行将隐藏。我希望调用所有行,但单击的行除外,单击的行不应显示。我做了一些研究,发现ViewState是最好的,但
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");
}
}
}
谢谢如果隐藏的行与特定用户绑定,则可以将其持久化到数据库。因此,新表将包含gridview行的主键和用户id。在对gridview执行select时,只需排除存储在新表中的用户行
视图状态是ASP.NET页面框架用于在往返之间保留页面和控件值的方法。视图状态在您的情况下不起作用,因为您希望在用户注销时保留信息。您必须将该用户的隐藏行存储在永久性位置,如数据库中。